From 2649ae7d91746f44a730633332cf6460c6ba873d Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 6 Oct 2026 23:50:10 +0900 Subject: [PATCH] =?UTF-8?q?fix(B08):=20=ED=86=A0=EC=A0=81=ED=91=9C=20?= =?UTF-8?q?=EB=A8=B8=EB=A6=AC=20=EA=B8=80=EC=9E=90=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=90=20=EA=B2=AC=EB=B3=B8=EB=8C=80=EB=A1=9C(71)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 암석 → 연암 · 측구터파기 → 측구파기 · 측구 암 칸 → 암 · 암 칸 머리 풍선 「리핑암 · 발파암 합」 · 값 · 계산 그대로 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7 --- B08_Quantity/B08_Quantity_UI_Earthwork.ts | 24 ++++++++++--------- .../tester/test_69_b08_earthwork_tabs.py | 13 ++++++++++ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/B08_Quantity/B08_Quantity_UI_Earthwork.ts b/B08_Quantity/B08_Quantity_UI_Earthwork.ts index 8bb5a5f22..9952747d0 100644 --- a/B08_Quantity/B08_Quantity_UI_Earthwork.ts +++ b/B08_Quantity/B08_Quantity_UI_Earthwork.ts @@ -3,7 +3,7 @@ * 토공 탭(PLAN 61-3 · 69-2 · 69-3) — 보조 탭 넷 = 토공집계표 · 토적표 · 평균운반거리 · 종방향 무대운반거리. * * GET …/quantity/earthwork 한 번(서버 단독 · 읽기만) — 네 장이 같은 응답을 나눠 그림. - * 토적표 = 줄 측점 · 칸 = 사용자 견본(절토 토사 · 암석 · 측구터파기 토사 · 암석 각 단면적 · 입적 · + * 토적표 = 줄 측점 · 칸 = 사용자 견본(절토 토사 · 연암 · 측구파기 토사 · 암 각 단면적 · 입적 · * 보정량 · 보정량계 · 성토 · 유용토 · 차인토량 · 누가토량 · 면고르기 · 지장목제거 · 제근 · 노면정리 각 * 거리 · 면적) · 맨 아래 합계 줄. 첫 측점은 앞이 없어 입적 · 면적이 빈 값(—). * 표 = 공용 많은 자료 표(`ui_template_data_table` · PLAN 70) · 카드 안 · 나머지 셋은 `…_Earthwork_Sheets`. @@ -82,12 +82,12 @@ export interface EarthworkTable { haul_saved: boolean; } -/** 칸 묶음 — [머리 묶음, 키 앞머리] · 단면적 · 입적 · 보정량 셋 */ -const TRIPLES: Array<[string[], string]> = [ +/** 칸 묶음 — [머리 묶음, 키 앞머리, 풍선 글] · 단면적 · 입적 · 보정량 셋 · 머리 글자는 사용자 견본대로 */ +const TRIPLES: Array<[string[], string, string?]> = [ [["절토", "토사"], "cut_soil"], - [["절토", "암석"], "cut_rock"], - [["측구터파기", "토사"], "ditch_soil"], - [["측구터파기", "암석"], "ditch_rock"], + [["절토", "연암"], "cut_rock"], + [["측구파기", "토사"], "ditch_soil"], + [["측구파기", "암"], "ditch_rock", "리핑암 · 발파암 합"], ]; /** 면 계열 — [머리 묶음, 키] · 거리 · 면적 둘 */ const FACES: Array<[string[], string]> = [ @@ -111,11 +111,13 @@ const n2 = (key: string, label: string, group?: string[]): DataColumn => ({ const COLUMNS: DataColumn[] = [ { key: "station", label: "측점", width: 72 }, n2("distance", "거리"), - ...TRIPLES.flatMap(([group, key]) => [ - n2(`${key}_area`, "단면적", group), - n2(`${key}_volume`, "입적", group), - n2(`${key}_adjusted`, "보정량", group), - ]), + ...TRIPLES.flatMap(([group, key, tip]) => + [ + n2(`${key}_area`, "단면적", group), + n2(`${key}_volume`, "입적", group), + n2(`${key}_adjusted`, "보정량", group), + ].map((c) => (tip ? { ...c, title: `${group.at(-1)} ${c.label} — ${tip}` } : c)), + ), n2("adjusted_total", "보정량계"), n2("fill_area", "단면적", ["성토"]), n2("fill_volume", "입적", ["성토"]), diff --git a/resources/tester/test_69_b08_earthwork_tabs.py b/resources/tester/test_69_b08_earthwork_tabs.py index d86e88575..9f7feb2d5 100644 --- a/resources/tester/test_69_b08_earthwork_tabs.py +++ b/resources/tester/test_69_b08_earthwork_tabs.py @@ -198,3 +198,16 @@ def test_토공집계표_식() -> None: assert value[("지장목제거", "", "")] == excel_round(tree * 0.8) assert value[("표토제거", "", "")] is None assert len(rows) == 33 # 시트 C5:C37 + + +def test_토적표_머리_글자는_사용자_견본대로(): + # 「[절토] <토사> · <연암> · 측구파기 <토사> · <암>」 — 값 · 계산은 그대로 + ui = (ROOT / "B08_Quantity" / "B08_Quantity_UI_Earthwork.ts").read_text(encoding="utf-8") + for head in ( + '["절토", "연암"]', + '["측구파기", "토사"]', + '["측구파기", "암"]', + "리핑암 · 발파암 합", + ): + assert head in ui, head + assert "암석" not in ui and "측구터파기" not in ui