fix(B09): 관급 입력은 「순자재대」 — 조달수수료 차감 옵션 제거
`단수처리_규칙.md` §3 원문을 읽다 **입력 의미를 잘못 잡은 것**을 찾음. 실무 서류의 「관급자재대 69,850,000」은 이미 `ROUNDUP(순자재대 69,474,220 + 조달수수료 375,160, −3)` 한 값인데, 그 합계를 순자재대 자리에 넣고 있었음. 그래서 안전관리비 관급항이 부풀었고, 그 어긋남을 「조달수수료 차감 옵션」으로 덮고 있었음. - **입력을 순자재대·수수료로 나눠 넣는 것으로 정정.** 그러면 ㉮ 관급자재대 천원 올림 ㉯ 안전관리비 관급항 `순자재대 ÷ 1.1` 이 **둘 다 저절로 맞음**. - ⇒ `deduct_procurement_fee_for_safety` **옵션 제거**(엔진·법정경비·라우터). 8-10 의 「차감은 규정 문구가 아님」과 결론은 같되 이유가 더 단순함 — **애초에 수수료는 관급금액에 안 들어감.** - 잘못 넣는 사고를 테스트로 박음 — `test_owner_supplied_input_is_net_material_not_total` (합계를 넣으면 안전관리비가 8,629 원 = 375,160 ÷ 1.1 × 2.53 % 커짐). - 필드 주석에 「실무 서류의 관급자재대를 그대로 넣지 말 것」 경고 추가. 자체검증 — **관행 옵션 없이 기본값만으로** 두 벌 재현: 2024 요율 → 안전 16,586,996 · 총공사비 1,201,879,000 / 현행 요율 → 안전 **18,586,091**. 화면 실측(5174) — 안전관리비 A 18,586,091 채택 · 관급자재대 69,850,000. pytest 72 passed · ruff 통과 · tsc 통과 · 백엔드 재시작 후 200. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,6 @@ class CostRequest(BaseModel):
|
||||
include_fee_in_owner_material_total: bool = True
|
||||
owner_supplied_for_safety_krw: Decimal | None = None
|
||||
owner_supplied_includes_vat: bool = True
|
||||
deduct_procurement_fee_for_safety: bool = False
|
||||
|
||||
estimated_price_krw: Decimal | None = None
|
||||
profit_adjustment_krw: Decimal = Field(default=Decimal(0), ge=0)
|
||||
@@ -83,7 +82,6 @@ class CostRequest(BaseModel):
|
||||
include_fee_in_owner_material_total=self.include_fee_in_owner_material_total,
|
||||
owner_supplied_for_safety_krw=self.owner_supplied_for_safety_krw,
|
||||
owner_supplied_includes_vat=self.owner_supplied_includes_vat,
|
||||
deduct_procurement_fee_for_safety=self.deduct_procurement_fee_for_safety,
|
||||
estimated_price_krw=self.estimated_price_krw,
|
||||
profit_adjustment_krw=self.profit_adjustment_krw,
|
||||
waste_disposal_krw=self.waste_disposal_krw,
|
||||
|
||||
Reference in New Issue
Block a user