fix(B09): 중기경비계산서에 갈래 표시 — 같은 기종이 두 장으로 보이던 자리

조합 사용이면 본체 잡재료가 16% 로 줄어 재료비가 달라져 층이 따로 섬(굴착기 0.7
재료비 26,130 → 24,845). 갈래를 안 적어 똑같은 장이 두 번 나온 것처럼 읽혔음.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-09 23:50:23 +09:00
co-authored by Claude Opus 5
parent 614ce437a0
commit 3934bd8d07
3 changed files with 36 additions and 3 deletions
@@ -75,3 +75,16 @@ def test_수송비는_이_장에_안_붙는다() -> None:
assert any("수송비" in line and "회당" in line for line in report["notes"])
for sheet in report["sheets"]:
assert "transport" not in sheet
def test_같은_기종의_두_장은_갈래로_갈린다() -> None:
"""⚠ 조합 사용이면 잡재료가 16% 로 줄어 재료비가 달라진다 — 갈래를 안 적으면
똑같은 장이 두 번 나온 것처럼 읽힌다(건설품셈 제8장 [주]⑤)."""
sheets = {sheet["code"]: sheet for sheet in _report()["sheets"]}
plain = sheets.get("X-0201-0070")
combined = sheets.get("X-0201-0070#조합")
assert plain is not None and combined is not None
assert plain["variant"] == "" and combined["variant"] == "조합"
assert combined["misc_material_percent"] == "16"
# 조합 쪽이 잡재료가 줄어 재료비가 더 싸야 한다.
assert Decimal(combined["material_krw"]) < Decimal(plain["material_krw"])