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) — 보조 탭 넷 = 토공집계표 · 토적표 · 평균운반거리 · 종방향 무대운반거리.
|
* 토공 탭(PLAN 61-3 · 69-2 · 69-3) — 보조 탭 넷 = 토공집계표 · 토적표 · 평균운반거리 · 종방향 무대운반거리.
|
||||||
*
|
*
|
||||||
* GET …/quantity/earthwork 한 번(서버 단독 · 읽기만) — 네 장이 같은 응답을 나눠 그림.
|
* GET …/quantity/earthwork 한 번(서버 단독 · 읽기만) — 네 장이 같은 응답을 나눠 그림.
|
||||||
* 토적표 = 줄 측점 · 칸 = 사용자 견본(절토 토사 · 암석 · 측구터파기 토사 · 암석 각 단면적 · 입적 ·
|
* 토적표 = 줄 측점 · 칸 = 사용자 견본(절토 토사 · 연암 · 측구파기 토사 · 암 각 단면적 · 입적 ·
|
||||||
* 보정량 · 보정량계 · 성토 · 유용토 · 차인토량 · 누가토량 · 면고르기 · 지장목제거 · 제근 · 노면정리 각
|
* 보정량 · 보정량계 · 성토 · 유용토 · 차인토량 · 누가토량 · 면고르기 · 지장목제거 · 제근 · 노면정리 각
|
||||||
* 거리 · 면적) · 맨 아래 합계 줄. 첫 측점은 앞이 없어 입적 · 면적이 빈 값(—).
|
* 거리 · 면적) · 맨 아래 합계 줄. 첫 측점은 앞이 없어 입적 · 면적이 빈 값(—).
|
||||||
* 표 = 공용 많은 자료 표(`ui_template_data_table` · PLAN 70) · 카드 안 · 나머지 셋은 `…_Earthwork_Sheets`.
|
* 표 = 공용 많은 자료 표(`ui_template_data_table` · PLAN 70) · 카드 안 · 나머지 셋은 `…_Earthwork_Sheets`.
|
||||||
@@ -82,12 +82,12 @@ export interface EarthworkTable {
|
|||||||
haul_saved: boolean;
|
haul_saved: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 칸 묶음 — [머리 묶음, 키 앞머리] · 단면적 · 입적 · 보정량 셋 */
|
/** 칸 묶음 — [머리 묶음, 키 앞머리, 풍선 글] · 단면적 · 입적 · 보정량 셋 · 머리 글자는 사용자 견본대로 */
|
||||||
const TRIPLES: Array<[string[], string]> = [
|
const TRIPLES: Array<[string[], string, string?]> = [
|
||||||
[["절토", "토사"], "cut_soil"],
|
[["절토", "토사"], "cut_soil"],
|
||||||
[["절토", "암석"], "cut_rock"],
|
[["절토", "연암"], "cut_rock"],
|
||||||
[["측구터파기", "토사"], "ditch_soil"],
|
[["측구파기", "토사"], "ditch_soil"],
|
||||||
[["측구터파기", "암석"], "ditch_rock"],
|
[["측구파기", "암"], "ditch_rock", "리핑암 · 발파암 합"],
|
||||||
];
|
];
|
||||||
/** 면 계열 — [머리 묶음, 키] · 거리 · 면적 둘 */
|
/** 면 계열 — [머리 묶음, 키] · 거리 · 면적 둘 */
|
||||||
const FACES: Array<[string[], string]> = [
|
const FACES: Array<[string[], string]> = [
|
||||||
@@ -111,11 +111,13 @@ const n2 = (key: string, label: string, group?: string[]): DataColumn => ({
|
|||||||
const COLUMNS: DataColumn[] = [
|
const COLUMNS: DataColumn[] = [
|
||||||
{ key: "station", label: "측점", width: 72 },
|
{ key: "station", label: "측점", width: 72 },
|
||||||
n2("distance", "거리"),
|
n2("distance", "거리"),
|
||||||
...TRIPLES.flatMap(([group, key]) => [
|
...TRIPLES.flatMap(([group, key, tip]) =>
|
||||||
n2(`${key}_area`, "단면적", group),
|
[
|
||||||
n2(`${key}_volume`, "입적", group),
|
n2(`${key}_area`, "단면적", group),
|
||||||
n2(`${key}_adjusted`, "보정량", 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("adjusted_total", "보정량계"),
|
||||||
n2("fill_area", "단면적", ["성토"]),
|
n2("fill_area", "단면적", ["성토"]),
|
||||||
n2("fill_volume", "입적", ["성토"]),
|
n2("fill_volume", "입적", ["성토"]),
|
||||||
|
|||||||
@@ -198,3 +198,16 @@ def test_토공집계표_식() -> None:
|
|||||||
assert value[("지장목제거", "", "")] == excel_round(tree * 0.8)
|
assert value[("지장목제거", "", "")] == excel_round(tree * 0.8)
|
||||||
assert value[("표토제거", "", "")] is None
|
assert value[("표토제거", "", "")] is None
|
||||||
assert len(rows) == 33 # 시트 C5:C37
|
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