fix(B08): 옹벽 타설이 두 번 셀 자리 — 묶음 구조물은 타설 줄을 안 만듦

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) <noreply@anthropic.com>
This commit is contained in:
2026-09-08 09:24:14 +09:00
co-authored by Claude Opus 5
parent fc867d3220
commit 19d4009ec4
@@ -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 []