feat(b09): 자재단가대비표 머리 — 견적 「면」 뺌 · 다른 출처 「면」 → 「출처」 · 견적서 = 견적 아래 (183-2)

- 출처 묶음 둘째 칸 머리 「출처」(값 = M01 면수 · 유가 기준일 그대로 · 관급 출처 열 그대로)
- 견적 묶음 = 단가 · 견적서(맨 끝 견적서 열 지움) · 견적 면 수기 칸 · 고침 갈래 지움(저장 quote_page 는 그대로 읽힘)
- 시험: test_183_2_b09_compare_head · test_171_1 안내 글 판정 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SE9MxeXTu2uaDZ55BJowAY
This commit is contained in:
2026-10-10 11:58:15 +09:00
co-authored by Claude Opus 5.5
parent 20f17827d3
commit 8cd87f48b0
3 changed files with 40 additions and 12 deletions
@@ -14,7 +14,7 @@ SPOTS = {
"B09_Estimation/B09_Estimation_Calc_Bill.ts": ['"수기 줄 — 연결 없음(우클릭 [연결])"'],
"B09_Estimation/B09_Estimation_Calc_Bill.py": ['"수기 줄 — 연결 없음(우클릭 [연결])"'],
"B09_Estimation/B09_Estimation_Sangeun.py": ['f"수기 줄 {'],
"B09_Estimation/B09_Estimation_UI_Tabs_Base.ts": ["견적 단가 · 면 = 수기 입력"],
"B09_Estimation/B09_Estimation_UI_Tabs_Base.ts": ["견적 단가 = 수기 입력"],
"B09_Estimation/B09_Estimation_UI_Tabs_Total.ts": ['"수기 입력"', '"수기 입력 = 안전관리비'],
"ui_template/ui_template_locale_b2.ts": [
"수량 원천: 수기 입력(직접비)",
@@ -0,0 +1,29 @@
"""183-2 자재단가대비표 머리 — 견적 「면」 뺌 · 다른 출처 「면」 → 「출처」(값 그대로) · 견적서 = 견적 아래.
소스 시험(열 정의 · 고칠 칸) — 셈 · 저장(`quote_page` 남음)은 안 바뀜(test_166_4).
"""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
SRC = (ROOT / "B09_Estimation" / "B09_Estimation_UI_Tabs_Base.ts").read_text(encoding="utf-8")
def _compare() -> str:
start = SRC.index("export const buildCompare")
return SRC[start : SRC.index("export const buildMaterial")]
def test_견적은_단가_견적서_그_밖은_단가_출처():
body = _compare()
assert (
's === "견적" ? text("files", "견적서", 72, [s]) : text(`g:${s}`, "출처", 64, [s])' in body
)
assert '"면"' not in body # 면 머리 없음
assert body.count('text("files", "견적서"') == 1 # 맨 끝 견적서 열 지움
def test_견적_면_수기_칸_없앰():
body = _compare()
assert 'key === "g:견적"' not in body and "quote_page" not in body
assert "견적 단가 = 수기 입력" in body and "견적 단가 · 면" not in body