fix(M01): 공통 3장 토공사 암발파·암파쇄 소모자재 덧줄 7건 + 시험 기대값 갱신

3-3-1~3-3-6 크롤러드릴 24%(3-3-1·2는 대형브레이커 5%) · 3-3-8 대형브레이커 2% 덧줄. 시험: 호표를 줄여도 소모자재 덧줄이 남는 새 규칙에 맞춤 (28-2c).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
This commit is contained in:
2026-09-30 13:35:53 +09:00
co-authored by Claude Sonnet 5.5
parent 296337327e
commit 13dd39325d
3 changed files with 138 additions and 22 deletions
@@ -527,7 +527,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-1 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 · 대형브레이커(2차파쇄) 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24% · 대형브레이커 5%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -555,7 +555,16 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000189).유압식크롤러드릴)"
},
{
"이름": "브레이커경비",
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000189).굴착기_대형브레이커)"
}
],
"호표": [
{
"종류": "인력",
@@ -588,7 +597,20 @@
"수량": "찾기(QC000189).굴착기_대형브레이커"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
},
{
"이름": "소모자재(대형브레이커)",
"식": "브레이커경비 * 찾기(QC000196, 장비='굴착기+대형브레이커').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -597,7 +619,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-2 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 · 대형브레이커(2차파쇄) 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24% · 대형브레이커 5%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -625,7 +647,16 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000190).유압식크롤러드릴)"
},
{
"이름": "브레이커경비",
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000190).굴착기_대형브레이커)"
}
],
"호표": [
{
"종류": "인력",
@@ -658,7 +689,20 @@
"수량": "찾기(QC000190).굴착기_대형브레이커"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
},
{
"이름": "소모자재(대형브레이커)",
"식": "브레이커경비 * 찾기(QC000196, 장비='굴착기+대형브레이커').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -667,7 +711,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-3 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -695,7 +739,12 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000191).유압식크롤러드릴)"
}
],
"호표": [
{
"종류": "인력",
@@ -728,7 +777,14 @@
"수량": "찾기(QC000191).굴착기"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -737,7 +793,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-4 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -765,7 +821,12 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000192).유압식크롤러드릴)"
}
],
"호표": [
{
"종류": "인력",
@@ -798,7 +859,14 @@
"수량": "찾기(QC000192).굴착기"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -807,7 +875,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-5 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -835,7 +903,12 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000193).유압식크롤러드릴)"
}
],
"호표": [
{
"종류": "인력",
@@ -868,7 +941,14 @@
"수량": "찾기(QC000193).굴착기"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -877,7 +957,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-6 · 3-3-6 주",
"소유": "공용",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴·브레이커 소모자재 요율(3-3-6 주⑨)은 그 기계 줄이 막혀 못 넣음 · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"비고": "폭약·뇌관은 「도로공사노천발파설계·시공지침」 따라 별도 · 잡재료(재료비 5%)도 그 재료비에(3-3-6 주⑦) · 크롤러드릴 소모자재 = 기계경비 × 요율(3-3-6 주⑨ · 크롤러드릴 24%) · 암 작업은 보정작업 「암석작업」 고름(건설품셈 공통 8-1-7)",
"입력": [
{
"이름": "지역",
@@ -905,7 +985,12 @@
},
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [],
"중간": [
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000194).유압식크롤러드릴)"
}
],
"호표": [
{
"종류": "인력",
@@ -938,7 +1023,14 @@
"수량": "찾기(QC000194).굴착기"
}
],
"덧줄": [],
"덧줄": [
{
"이름": "소모자재(크롤러드릴)",
"식": "드릴경비 * 찾기(QC000196, 장비='유압식 크롤러드릴').요율 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-6 주⑨"
}
],
"끝수": null
},
{
@@ -1163,7 +1255,7 @@
"결과단위": "원/㎥",
"출처": "건설품셈 공통 3-3-8",
"소유": "공용",
"비고": "할암봉 소모자재 별도(주⑤) · 대형브레이커 소모자재 2%(주④)는 그 줄이 막혀 못 넣음 · 유압식할암기는 손료만",
"비고": "할암봉 소모자재 별도(주⑤) · 대형브레이커 소모자재 = 기계경비 × 2%(주④) · 유압식할암기는 손료만",
"입력": [
{
"이름": "지역",
@@ -1192,7 +1284,14 @@
{ "이름": "보정작업", "고르기": ["해당 없음", "암석작업(연암・보통암・경암)", "전석섞인토사"], "출처": "건설품셈 공통 8-1-7 1" }
],
"중간": [
{ "이름": "드릴경비", "식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000201).유압식크롤러드릴)" }
{
"이름": "드릴경비",
"식": "로직(GC000268, 기계='5405-0110', 지역=지역).계 * (찾기(QC000201).유압식크롤러드릴)"
},
{
"이름": "브레이커경비",
"식": "로직(GC000271, 기계='0201-0100', 브레이커='0230-0010', 지역=지역, 보정작업=보정작업).계 * (찾기(QC000201).굴착기_대형브레이커)"
}
],
"호표": [
{
@@ -1246,6 +1345,12 @@
"식": "드릴경비 * 찾기(QC000202, 장비='유압식 크롤러드릴').기계경비의 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-8 주④"
},
{
"이름": "소모자재(대형브레이커)",
"식": "브레이커경비 * 찾기(QC000202, 장비='굴착기+대형브레이커').기계경비의 / 100",
"비목": "재료비",
"출처": "건설품셈 공통 3-3-8 주④"
}
],
"끝수": null
@@ -439,7 +439,15 @@
"이름": "소모자재 요율",
"기준": "",
"출처": "건설품셈 공통 3-3-6 주⑨",
"용도": {"공종": "암발파", "대상": ["작업량 조건"], "로직키": ["GC000098"]},
"용도": {"공종": "암발파", "대상": ["작업량 조건"], "로직키": [
"GC000098",
"GC000091",
"GC000092",
"GC000093",
"GC000094",
"GC000095",
"GC000096"
]},
"조건": { "장비": "고르기" },
"값칸": { "요율": "%" },
"줄": [
+4 -1
View File
@@ -266,7 +266,10 @@ def test_단가_자동_요소_찾기_저장전_시험계산(client: TestClient)
json={"key": LOGIC_KEY, "inputs": LOGIC_INPUTS, "row": half},
)
lines = res.json()["lines"]
assert [x["이름"] for x in lines] == ["화약취급공"] and res.json()["sums"]["계"] < before
names = [x["이름"] for x in lines] # 소모자재 덧줄(3-3-6 주⑨)은 남음
assert (
names[0] == "화약취급공" and "보통인부" not in names and res.json()["sums"]["계"] < before
)
new = {**half, "키": "", "원문번호": "새 로직"}
body = {
"key": "",