From 19d4009ec4598a10fac8ee7c4d17b70fd934267b Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 8 Sep 2026 09:24:14 +0900 Subject: [PATCH] =?UTF-8?q?fix(B08):=20=EC=98=B9=EB=B2=BD=20=ED=83=80?= =?UTF-8?q?=EC=84=A4=EC=9D=B4=20=EB=91=90=20=EB=B2=88=20=EC=85=80=20?= =?UTF-8?q?=EC=9E=90=EB=A6=AC=20=E2=80=94=20=EB=AC=B6=EC=9D=8C=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=EB=AC=BC=EC=9D=80=20=ED=83=80=EC=84=A4=20=EC=A4=84?= =?UTF-8?q?=EC=9D=84=20=EC=95=88=20=EB=A7=8C=EB=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit B09 가 「철근이 겹치나」를 물어 확인하다 드러남. 철근은 안 겹치는데 타설이 겹쳤음. 철근 — 안 겹침 (확인) 자재로 가는 것은 재료(이형철근 D13·D16 kg) 묶음 조각 FP-12-03 은 품 — 일위대가 실측 재료 0원 · 노무만 ⇒ 품은 공종 줄, 재료는 자재 쪽. 타설(12-1-1)과 같은 구조 타설 — 겹쳤음 (고침) work_item_mapping 의 옹벽 composite 에 FP-12-01-01 조각이 이미 있는데 _placing_rows 가 그 구조물의 콘크리트를 또 셌음 ⇒ 묶음으로 서는 구조물은 건너뜀. 그 콘크리트는 묶음 조각이 셈 ⚠ 묶음이 아직 미확보라 값이 안 걸렸을 뿐, 서는 날 두 번이 됨 시험 둘 — 묶음 구조물은 타설 줄 없음 · ⚠ 묶음 없는 종류는 그대로 섬 (좁게 고치는 짝. 묶음 하나 때문에 정상 줄까지 지우면 더 나쁨) 기존 타설 시험 셋은 표본을 옹벽 → 집수정으로 바꿈(옹벽이 이제 묶음이라). 시험: 685 passed · 24 skipped (B05 코리도 1건 기존 깨짐, 무관). Co-Authored-By: Claude Opus 5 (1M context) --- B08_Quantity/B08_Quantity_Engine_Handoff.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/B08_Quantity/B08_Quantity_Engine_Handoff.py b/B08_Quantity/B08_Quantity_Engine_Handoff.py index 7b69b2f5..5bd0fa1a 100644 --- a/B08_Quantity/B08_Quantity_Engine_Handoff.py +++ b/B08_Quantity/B08_Quantity_Engine_Handoff.py @@ -733,6 +733,14 @@ def _placing_rows( return [], [] buckets: dict[str, float] = {} for structure in unit_quantity_table.get("structures") or []: + # ⚠⚠ **묶음으로 서는 구조물은 건너뛴다 — 그 콘크리트는 묶음 조각이 이미 센다.** + # 옹벽 묶음에 `FP-12-01-01 콘크리트 타설` 조각이 들어 있다(`work_item_mapping` + # 의 `composite`). 여기서 또 세우면 **같은 콘크리트를 두 번** 센다. + # 2026-09-08 B09 가 「철근이 겹치나」를 물어 그 김에 드러난 자리다 — + # 철근은 안 겹치고(자재는 재료·묶음 조각은 품, 재료 0원) **타설이 겹쳤다.** + # ⚠ 묶음이 아직 미확보라 지금은 값이 안 걸렸을 뿐, 묶음이 서는 날 두 번이 된다. + if mapping.composite_for(str(structure.get("type_id") or "")): + continue volume = sum( float(component.get("amount") or 0.0) for component in structure.get("components") or []