fix(B08): 토적표 머리 글자 사용자 견본대로(71)
- 암석 → 연암 · 측구터파기 → 측구파기 · 측구 암 칸 → 암 · 암 칸 머리 풍선 「리핑암 · 발파암 합」 · 값 · 계산 그대로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
This commit is contained in:
@@ -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", "입적", ["성토"]),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user