feat(B09): 노체다짐(9-16-2) 단가가 서게 함 — 다짐 공식은 굴착·운반과 식이 다름

Q = 1000 × V × W × E × D × f / N 로 서는 첫 공종. 계수 여섯은 표에 다 있고 기종만
[주]에 있어 마스터가 못 싣던 자리.

- 롤러만 듦 — [주]③ 의 「굴착기와 진동롤러 조합」은 포설(9-16-1)과 다짐을 함께 쓰라는
  뜻으로 읽음. 이 줄에 굴착기를 또 넣으면 포설에서 센 굴착기를 두 번 셈.
- 계수가 하나라도 없으면 안 섬 — 채워 넣지 않음.
- 조건([주]⑤ 대규모 성토지 층다짐)과 기종 근거를 줄에 남김.
- ⚠ 인계에 그 줄이 없어 금액은 아직 안 섬 — 층다짐을 셀지는 설계 판단(사용자 확정 대기).
  넣으면 13,150.2㎥ × 527.40 = 6,935,414원.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-09 22:57:01 +09:00
co-authored by Claude Opus 5
parent 9f2de109dd
commit 87c710a27b
3 changed files with 210 additions and 1 deletions
+3 -1
View File
@@ -612,8 +612,10 @@ def build_unit_prices(
build.component_gaps = dict(axis.partial_items)
# 「작업량을 직접 준」 기계(깨기 대형브레이커)도 사용료 층을 세운다 — 안 세우면
# 그 줄이 붙을 데가 없어 암·발파암 갈래의 깨기 몫이 통째로 빠진다.
from B09_Estimation.B09_Estimation_MachineProductivity_Compaction import compaction_rows
capacity_rows = {
str(node.get("work_item_code", "")): direct_capacity_rows(node)
str(node.get("work_item_code", "")): direct_capacity_rows(node) + compaction_rows(node)
for node in master.get("work_items", [])
}
capacity_rows = {code: rows for code, rows in capacity_rows.items() if rows}