fix(master_data): 자체 마스터 점검 반영 · 재료_자체 짝짓기 — 짝 5줄 시중물가로 · 후보 99줄 비고 · 지적(산업)기사 건설노임으로
- 인력_자체: 지적기사·지적산업기사 뺌(호표 72줄 → 건설노임 1072·1073) · 목도공 → 목도(원문 직종명) - 재료_자체: 커터 블레이드 규격 비움 · 아세틸렌가스 → 아세틸렌 · 이형철근 → 철근(원문 이름) - 품명·규격·단위 모두 맞는 5줄(벤토나이트알갱이 · 카트리지 화약 · 전력 · 중유 · 징크프라이머) 재료_자체에서 뺌 · 호표 요소 「재료:시중물가:<코드>.채택」 - 엔진: 호표 요소가 값 묶음의 칸(.채택)이면 그 칸을 단가로 · M01 단가 요약도 같음 - 후보만 있는 99줄 비고에 「나라장터/시중물가 후보 N줄 — 선택 필요」 · 결과 ref/_점검_자체_짝짓기.md - 로직 일괄 계산: 계산됨 1,070 → 1,109 · 자체 값 없음 279 → 240 · 미공표 2 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
@@ -198,8 +198,13 @@ def _prices(whole, row: dict) -> dict:
|
||||
ref = str(item.get("요소", ""))
|
||||
if item.get("종류") != "로직" and "{" not in ref:
|
||||
try:
|
||||
out[ref] = _brief(ref, whole.get(ref))
|
||||
except cm.mf.FormulaError:
|
||||
node = cm.mf.parse(ref)
|
||||
if node[0] == "field": # 값 묶음 요소의 칸 — 단가는 그 칸
|
||||
row = whole.get(node[1][1])
|
||||
out[ref] = {**_brief(ref, row), "값": row["값"][node[2]]}
|
||||
else:
|
||||
out[ref] = _brief(ref, whole.get(ref))
|
||||
except (cm.mf.FormulaError, KeyError, TypeError):
|
||||
out[ref] = None
|
||||
return out
|
||||
|
||||
|
||||
Reference in New Issue
Block a user