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