feat(master_data): 건설품셈 토목 6장(관부설 및 접합) 로직 36줄 · 식 읽기 「K.P」 점 · 자체 재료 2개

- 6-2~6-8 전 절: 일당 표는 인력 ÷ 시공량 · 양중장비 8시간 ÷ 시공량 · 단위당 표는 품 그대로
- 시공조건 B·C 요율(6-1-1 8): 부설·접합·도장 절만 — 일당은 시공량 133·200% · 단위당은 품 75·50%
- 압륜 가산 · 8m 직관 크레인 가산 · 단수 감 · 절단 작업 비율 · 공구손료 요율 구간 — 설계자 입력
- 6-7-5 강관압입추진공: 장비조립(소요일수) · 추진(m당 = 일당 편성 ÷ 작업능력) · 조명시설
- 식 읽기: 표 열쇠 안 영문자 사이 점(「K.P」「T.S」)은 칸 부르기로 안 봄
- 8장 손료 고르기에 유압잭 · 조종원 없음 고르기에 발전기 100㎾ · 재료_자체 IV전선 2.0㎜ · 백열등 100W
- 막힘: 갱부(건설노임 요소 없음) · 6-8-4 공구손료 2%(소요량 계수 표 없음) — 비고

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
2026-09-19 18:45:44 +09:00
co-authored by Claude Opus 5
parent 51fcaf9a81
commit bcfbc8b574
5 changed files with 2789 additions and 4 deletions
@@ -21,6 +21,7 @@ SAMPLES = [
"로직_건설품셈_공통8장.json",
"로직_건설품셈_토목1장.json",
"로직_건설품셈_토목2장.json",
"로직_건설품셈_토목6장.json",
"로직_산림품셈_03장.json",
"로직_산림품셈_04장.json",
"로직_산림품셈_05장.json",
@@ -283,6 +284,13 @@ def test_칸_이름_정리_뒤_기계_줄(whole):
assert qty["진동롤러(핸드가이드식) 0.7ton"] == 0
def test_토목_관부설_시공조건_요율(whole):
"""토목 6-2-2 — 열쇠 「K.P」 점을 식이 읽음 · 시공조건 B 는 시공량 133%."""
given = {"관경": 80, "시공조건": "시공조건 B", "압륜가산": 0, "요율구간": "300mm이하"}
got = mf.run(whole, "건설품셈:6-2-2 K.P 메커니컬 접합 및 부설 인력", given)
assert round(got["줄"][0]["수량"], 4) == round(Decimal(3) / (Decimal(13) * Decimal("1.33")), 4)
def test_범위_입력은_막음(whole):
with pytest.raises(mf.FormulaError):
mf.run(