feat(B08): 관보호공 날개벽 원단위 다섯 — 원본 탭에서 옮기고 고르는 칸까지 이음

계획서 4-13. 소광리 `07-구조도-소광리.xlsx` 다섯 탭의 **개소당 소계를 그대로** 옮김
(Ø800 A·C · Ø1000 A·C · Ø800 A+집수정). 비례로 늘리지 않음 — 그 규격에서만 맞는 값임.

- 원단위표에 다섯 줄 추가. 거푸집 종류가 탭마다 갈려 이름을 뭉개지 않음 —
  Ø800 A·C 는 **유로폼**, Ø1000 과 A+집수정은 **합판거푸집(4회)**.
- ⚠ 철근·면목 줄은 원본 날개벽 탭에 **없음**(집수정구조도 탭에만 있음). 지어내지 않음.
- 등록부·배치 폼에 「관보호공 날개벽」 칸(A-TYPE·C-TYPE·A-TYPE+집수정). 비우면 안 셈.
- ⚠ 겹쳐 세는 자리 — 「A-TYPE+집수정」은 집수정을 품은 형식이라 집수정 형식도 차 있으면
  **사유로 알림**(값은 안 고침). 원단위표 `double_count_rules` 와 짝.

ⓘ 집수정 Ø800 은 **이미 표에 있었음**(`pipe_inlet_basin` □형·콘크리트·800) — 다시 만들지 않음.
화면 실측 — 배수관 폼에 칸이 뜨고 선택지 셋 확인. 엔진 실행으로 날개벽 줄이 따로 서고
터파기 13.104 · 콘크리트 2.0595 · 유로폼 12.5376 이 나오는 것까지 봄.
시험 일곱 추가, 전체 1218 통과·실패 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-09 23:02:04 +09:00
co-authored by Claude Opus 5
parent 018ebe7f40
commit 0747979c5d
5 changed files with 434 additions and 3 deletions
@@ -256,6 +256,266 @@
"destination": "earthwork"
}
]
},
{
"type_id": "pipe_wing_wall",
"spec": {
"wing_wall_type": "A-TYPE",
"pipe_diameter_mm": "800"
},
"unit": "개소",
"source": "uljin_library",
"source_note": "§1 관보호공 날개벽 — 원본 탭 「날개벽(800)A-TYPE산출근거」",
"components": [
{
"name": "기초잡석",
"unit": "㎥",
"amount": 1.152,
"destination": "unit_price",
"basis_note": "T=0.2"
},
{
"name": "콘크리트",
"unit": "㎥",
"amount": 2.0595,
"destination": "unit_price",
"basis_note": "저판 0.952 + 벽체 1.1075"
},
{
"name": "유로폼",
"unit": "㎡",
"amount": 12.5376,
"destination": "unit_price",
"basis_note": "저판 1.92 + 벽체 10.6176 · 원본 「유로폼」"
},
{
"name": "터파기",
"unit": "㎥",
"amount": 13.104,
"destination": "earthwork"
},
{
"name": "되메우기",
"unit": "㎥",
"amount": 6.504,
"destination": "earthwork"
},
{
"name": "잔토처리",
"unit": "㎥",
"amount": 6.61,
"destination": "earthwork"
}
],
"note": "⚠ 철근·면목 줄이 **원본에 없다** — 날개벽 탭 다섯에 그 줄이 없고 집수정구조도 탭에만 D13·면목이 있다. 지어내지 않는다."
},
{
"type_id": "pipe_wing_wall",
"spec": {
"wing_wall_type": "C-TYPE",
"pipe_diameter_mm": "800"
},
"unit": "개소",
"source": "uljin_library",
"source_note": "§1 관보호공 날개벽 — 원본 탭 「날개벽(800)C-TYPE산출근거」",
"components": [
{
"name": "기초잡석",
"unit": "㎥",
"amount": 0.6821,
"destination": "unit_price",
"basis_note": "T=0.2"
},
{
"name": "콘크리트",
"unit": "㎥",
"amount": 1.109,
"destination": "unit_price",
"basis_note": "저판 0.4847 + 벽체 0.6243"
},
{
"name": "유로폼",
"unit": "㎡",
"amount": 6.2309,
"destination": "unit_price",
"basis_note": "저판 1.4786 + 벽체 4.7523 · 원본 「유로폼」"
},
{
"name": "터파기",
"unit": "㎥",
"amount": 7.7269,
"destination": "earthwork"
},
{
"name": "되메우기",
"unit": "㎥",
"amount": 4.7148,
"destination": "earthwork"
},
{
"name": "잔토처리",
"unit": "㎥",
"amount": 3.0122,
"destination": "earthwork"
}
],
"note": "⚠ 철근·면목 줄이 **원본에 없다** — 날개벽 탭 다섯에 그 줄이 없고 집수정구조도 탭에만 D13·면목이 있다. 지어내지 않는다."
},
{
"type_id": "pipe_wing_wall",
"spec": {
"wing_wall_type": "A-TYPE",
"pipe_diameter_mm": "1000"
},
"unit": "개소",
"source": "uljin_library",
"source_note": "§1 관보호공 날개벽 — 원본 탭 「날개벽(1000)A-TYPE산출근거」",
"components": [
{
"name": "기초잡석",
"unit": "㎥",
"amount": 1.6,
"destination": "unit_price",
"basis_note": "T=0.2"
},
{
"name": "콘크리트",
"unit": "㎥",
"amount": 2.891,
"destination": "unit_price",
"basis_note": "저판 1.368 + 벽체 1.523"
},
{
"name": "합판거푸집",
"unit": "㎡",
"amount": 18.255,
"destination": "unit_price",
"basis_note": "저판 2.24 + 벽체 16.015 · 원본 「거푸집 합판(4회)」"
},
{
"name": "터파기",
"unit": "㎥",
"amount": 24.39,
"destination": "earthwork"
},
{
"name": "되메우기",
"unit": "㎥",
"amount": 10.478,
"destination": "earthwork"
},
{
"name": "잔토처리",
"unit": "㎥",
"amount": 13.912,
"destination": "earthwork"
}
],
"note": "⚠ 철근·면목 줄이 **원본에 없다** — 날개벽 탭 다섯에 그 줄이 없고 집수정구조도 탭에만 D13·면목이 있다. 지어내지 않는다."
},
{
"type_id": "pipe_wing_wall",
"spec": {
"wing_wall_type": "C-TYPE",
"pipe_diameter_mm": "1000"
},
"unit": "개소",
"source": "uljin_library",
"source_note": "§1 관보호공 날개벽 — 원본 탭 「날개벽(1000)C-TYPE산출근거」",
"components": [
{
"name": "기초잡석",
"unit": "㎥",
"amount": 1.0271,
"destination": "unit_price",
"basis_note": "T=0.2"
},
{
"name": "콘크리트",
"unit": "㎥",
"amount": 1.9109,
"destination": "unit_price",
"basis_note": "저판 0.7736 + 벽체 1.1373"
},
{
"name": "합판거푸집",
"unit": "㎡",
"amount": 10.722,
"destination": "unit_price",
"basis_note": "저판 1.9118 + 벽체 8.8102 · 원본 「거푸집 합판(4회)」"
},
{
"name": "터파기",
"unit": "㎥",
"amount": 13.7179,
"destination": "earthwork"
},
{
"name": "되메우기",
"unit": "㎥",
"amount": 7.9134,
"destination": "earthwork"
},
{
"name": "잔토처리",
"unit": "㎥",
"amount": 5.8046,
"destination": "earthwork"
}
],
"note": "⚠ 철근·면목 줄이 **원본에 없다** — 날개벽 탭 다섯에 그 줄이 없고 집수정구조도 탭에만 D13·면목이 있다. 지어내지 않는다."
},
{
"type_id": "pipe_wing_wall",
"spec": {
"wing_wall_type": "A-TYPE+집수정",
"pipe_diameter_mm": "800"
},
"unit": "개소",
"source": "uljin_library",
"source_note": "§1 관보호공 날개벽 — 원본 탭 「날개벽(800)A-TYPE+집수정산출근거」",
"components": [
{
"name": "기초잡석",
"unit": "㎥",
"amount": 1.152,
"destination": "unit_price",
"basis_note": "T=0.2"
},
{
"name": "콘크리트",
"unit": "㎥",
"amount": 2.6395,
"destination": "unit_price",
"basis_note": "저판 0.952 + 벽체 1.6875"
},
{
"name": "합판거푸집",
"unit": "㎡",
"amount": 18.3376,
"destination": "unit_price",
"basis_note": "저판 1.92 + 벽체 16.4176 · 원본 「거푸집 합판(4회)」"
},
{
"name": "터파기",
"unit": "㎥",
"amount": 16.256,
"destination": "earthwork"
},
{
"name": "되메우기",
"unit": "㎥",
"amount": 8.44,
"destination": "earthwork"
},
{
"name": "잔토처리",
"unit": "㎥",
"amount": 7.816,
"destination": "earthwork"
}
],
"note": "⚠ 철근·면목 줄이 **원본에 없다** — 날개벽 탭 다섯에 그 줄이 없고 집수정구조도 탭에만 D13·면목이 있다. 지어내지 않는다."
}
],
"not_found": {
@@ -299,6 +559,14 @@
"why": "물구멍을 자재 줄로 세우면 규격·수량이 눈에 보이고 되짚을 수 있다. 제잡비 윗단은 같은 것을 품 안에 녹이는 다른 방식이라 어느 쪽이든 하나만 골라야 한다.",
"scope": "⚠ 지금 쓰는 돌쌓기(13-4 계열)에는 **제잡비 행 자체가 없어** 겹치지 않는다(전수 확인). 이 규칙은 13-6·13-7 을 쓰게 될 때 걸린다.",
"guard": "제잡비 윗단과 물구멍 줄이 함께 서면 멈출 것 — B09 ㉥ 가드와 짝."
},
{
"key": "날개벽 「A-TYPE+집수정」 ↔ 유입부 집수정 줄",
"where": "원본 탭 「날개벽(800)집수정산출근거」",
"quote": "A-TYPE 날개벽에 집수정을 **결합한** 형식의 개소당 물량(터파기 16.256㎥ 등)",
"our_choice": "이 형식을 고르면 **집수정 줄을 따로 세우지 않는다** — 날개벽 값이 이미 품고 있다.",
"why": "따로 세우면 한 개소를 두 번 센다(터파기·콘크리트·거푸집 전부).",
"guard": "`wing_wall_type` 이 「A-TYPE+집수정」인데 `inlet_basin_form` 도 차 있으면 사유로 알린다."
}
]
},