diff --git a/B09_Estimation/B09_Estimation_MachineCost.py b/B09_Estimation/B09_Estimation_MachineCost.py index 81b0dca1..d9f71888 100644 --- a/B09_Estimation/B09_Estimation_MachineCost.py +++ b/B09_Estimation/B09_Estimation_MachineCost.py @@ -33,6 +33,18 @@ _CATALOG_SUBPATH = ("resources", "data_cost_input_value") _THOUSAND = Decimal(1000) +#: 조종원 노임을 시간당으로 바꿀 때 나누는 시간. +#: 근거 — 품셈 8-1-6 기계손료 단서 「**관리비는 1일 8시간 초과해도 8시간으로 계산**」이 +#: 1일을 8시간으로 잡는다. 노임표도 `hours_per_day: 8` 이다. +#: ⚠ **실무 관측은 이보다 짧은 시간으로 나눈 사례가 있다** — STC 2024 관측 +#: 굴착기 0.7㎥ 노무 55,700 원/hr 은 건설기계운전사 일당 283,297 을 **약 5.09시간**으로 +#: 나눈 값이다(작업효율 `E`(실작업시간율)를 시간당 사용료에 미리 반영한 것으로 보임). +#: 품셈에서 작업효율은 **작업량 산정**(`Q = n·q·f·E`, 8-1-4)에 들어가지 시간당 사용료에 +#: 들어가지 않으므로 **8시간을 유지한다.** 관측에 맞추려 나눗수를 바꾸지 않는다 +#: (★법대로 PLAN 8-10). TODO(미결 PLAN 9-6): 발주처가 실가동시간을 요구하는 사례 확인. +OPERATOR_HOURS_PER_DAY = 8 + + class MachineCostError(LookupError): """기계경비를 세울 수 없는 경우. 0 으로 때우지 않고 멈춘다.""" @@ -147,7 +159,7 @@ def hourly_machine_cost( fuel_liters_per_hour: Decimal | None = None, fuel_price_per_liter: Decimal | None = None, operator_daily_wage: Decimal | None = None, - operator_hours_per_day: int = 8, + operator_hours_per_day: int = OPERATOR_HOURS_PER_DAY, ) -> HourlyMachineCost: """시간당 사용료 한 시간분.