From 770d5b27c79818c963244e8b89da78599969f418 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 25 Oct 2026 22:58:23 +0900 Subject: [PATCH] =?UTF-8?q?fix(534-4):=20E05=20=EC=9E=85=EB=A0=A5=EC=A1=B0?= =?UTF-8?q?=EA=B1=B4=20=EC=A7=80=EC=B8=B5=20=EC=A0=81=EC=9A=A9=20=EA=B5=AC?= =?UTF-8?q?=EA=B0=84=20=E2=80=94=20=EC=A7=80=EB=B0=98=20=EB=9D=BC=EB=B2=A8?= =?UTF-8?q?=EC=97=90=20=EC=95=88=20=EC=9D=B4=EC=9D=80=20=EC=A7=80=EC=B8=B5?= =?UTF-8?q?=EC=9D=80=20=E3=80=8C-=E3=80=8D(=EA=B5=AC=EA=B0=84=20=EC=A7=80?= =?UTF-8?q?=EC=A0=95=20=EC=A7=80=EC=B8=B5=EC=9D=B4=20=E3=80=8C=EC=A0=84?= =?UTF-8?q?=EC=B2=B4=E3=80=8D=EB=A1=9C=20=EB=B3=B4=EC=9D=B4=EB=8D=98=20?= =?UTF-8?q?=EA=B2=83)=20=C2=B7=20=EA=B5=AC=EA=B0=84=20=EC=9C=84=20?= =?UTF-8?q?=EC=A7=80=EC=B8=B5=20=EC=A4=84=EC=97=90=20=ED=86=A0=EC=B8=B5=20?= =?UTF-8?q?=EB=91=90=EA=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- E05_StabReport/E05_StabReport_Build.py | 11 ++++++++--- resources/tester/test_534_3_e05_report.py | 6 +++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/E05_StabReport/E05_StabReport_Build.py b/E05_StabReport/E05_StabReport_Build.py index becbb50b0..e8c771ad7 100644 --- a/E05_StabReport/E05_StabReport_Build.py +++ b/E05_StabReport/E05_StabReport_Build.py @@ -27,9 +27,9 @@ from datetime import date from pathlib import Path from typing import Any +from common_util.common_util_derived_store import read_derived from E01_StabRegister import E01_StabRegister_Source as source from E02_StabGround import E02_StabGround_Model as ground_model -from common_util.common_util_derived_store import read_derived from E03_StabSection import E03_StabSection_View as view2d from E03_StabSection.E03_StabSection_Engine_Model import final_surface from E03_StabSection.E03_StabSection_Router import KIND_STATION, _latest_summary, _overrides @@ -339,14 +339,19 @@ def fill_conditions(sheet: dict[str, Any], inputs: dict[str, Any]) -> None: _set(sheet, "B22", float(ground.get("road_surcharge_kpa") or 0)) defaults = {m["id"]: m for m in ground_model.load_defaults()["materials"]} names = {m["id"]: m["name"] for m in ground.get("materials") or []} - rows: list[tuple[dict[str, Any], str]] = [(m, "전체") for m in ground.get("materials") or []] + mapped = set((ground.get("label_map") or {}).values()) # 지반 라벨에 이은 지층만 「전체」 + rows: list[tuple[dict[str, Any], str]] = [ + (m, "전체" if m["id"] in mapped else "-") for m in ground.get("materials") or [] + ] for zone in ground.get("zones") or []: span = f"{float(zone['from_m']):g} ~ {float(zone['to_m']):g} m" for layer, where in (("soil", "위"), ("rock", "아래")): mid = zone.get(layer) match = next((m for m in ground["materials"] if m["id"] == mid), None) if match: - rows.append((match, f"{span} {where} 지층")) + depth = zone.get("soil_thickness_m") if layer == "soil" else None + more = f" · 두께 {float(depth):g} m" if depth is not None else "" + rows.append((match, f"{span} {where} 지층{more}")) if zone.get("soil_thickness_m") is not None and not (zone.get("soil") or zone.get("rock")): rows.append(({"name": "토층 두께"}, f"{span} · {zone['soil_thickness_m']:g} m")) for i, (m, span) in enumerate(rows): diff --git a/resources/tester/test_534_3_e05_report.py b/resources/tester/test_534_3_e05_report.py index 63c43062c..559d192b0 100644 --- a/resources/tester/test_534_3_e05_report.py +++ b/resources/tester/test_534_3_e05_report.py @@ -1,8 +1,8 @@ """534-3(빌더 · storage · 길) — E05 안정성평가 보고서 `E05_StabReport_Build` · `_Store` · `_Router`. -가짜 E 프로젝트(E03 파생 저장본 꼴 2D 요약 · 측점별 저장본 · 대표 단면 켬/끔 · 지반 조건 · 3D 저장본 하나 · -복사본 읽기는 바꿔 끼움)로 측점 수 = 줄 수 · N.G 수 · 그림 파일 수 · 갱신 뒤 사용자 몫 불변 · -덮임 목록 · 초기화 · 판 409 · xlsx 되읽기 · PDF 쪽 수. +가짜 E 프로젝트(E03 파생 저장본 꼴 2D 요약 · 측점별 저장본 · 대표 단면 켬/끔 · 지반 조건 · +3D 저장본 하나 · 복사본 읽기는 바꿔 끼움)로 측점 수 = 줄 수 · N.G 수 · 그림 파일 수 · +갱신 뒤 사용자 몫 불변 · 덮임 목록 · 초기화 · 판 409 · xlsx 되읽기 · PDF 쪽 수. """ import io