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 []