fix(B08): 사토 운반도 자연상태로 세움
- 되돌린 값(natural_m3_by_ground)이 오면 그 값으로 서고 상태를 사유에 적음 - 안 오면 다짐 그대로 두고 「내역 수량은 자연상태여야 함」을 사유로 냄 - tmp/tests 2건 추가 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -72,11 +72,22 @@ def spoil_haul_rows(
|
||||
reason = DISTANCE_MISSING if blocked else ""
|
||||
note = spoil.get("note") or ""
|
||||
# 갈래별로 나눠 세운다 — 덤프 단가가 토사·암으로 갈린다. 갈래가 안 오면 종전처럼 한 줄.
|
||||
# ⚠⚠ **내역 수량은 자연상태다**(`config_system_design` 5-4-3). 사토 잔량은 유토곡선이
|
||||
# 쌓은 다짐상태라 되돌린 값(`natural_m3_by_ground`)이 오면 **그 값으로 선다**.
|
||||
# 갈래를 못 붙인 몫은 되돌릴 계수가 없어 다짐 그대로 서고, 그 사실이 사유에 남는다.
|
||||
returned = spoil.get("natural_m3_by_ground") or {}
|
||||
natural_basis = bool(returned)
|
||||
source_map = returned if natural_basis else (spoil.get("by_ground_m3") or {})
|
||||
by_ground = {
|
||||
GROUND_KEYS[key]: float(value)
|
||||
for key, value in (spoil.get("by_ground_m3") or {}).items()
|
||||
for key, value in source_map.items()
|
||||
if key in GROUND_KEYS and float(value or 0.0) > 0
|
||||
}
|
||||
state_note = (
|
||||
"자연상태(유토곡선이 ÷C 로 되돌린 값)"
|
||||
if natural_basis
|
||||
else "⚠ 다짐상태 그대로 — 되돌린 값이 아직 안 옴(내역 수량은 자연상태여야 함)"
|
||||
)
|
||||
# 갈래별 거리 — 사토장이 놓였으면 그 값이 이긴다(정확한 값이 이김).
|
||||
by_distance = {
|
||||
GROUND_KEYS[key]: float(value)
|
||||
@@ -98,7 +109,9 @@ def spoil_haul_rows(
|
||||
reason if leg_blocked else "",
|
||||
note,
|
||||
ground=label,
|
||||
extra=DISTANCE_FROM_SETTING if leg is None else DISTANCE_FROM_SITE,
|
||||
extra=" · ".join(
|
||||
(DISTANCE_FROM_SETTING if leg is None else DISTANCE_FROM_SITE, state_note)
|
||||
),
|
||||
)
|
||||
)
|
||||
if unknown > 0:
|
||||
|
||||
Reference in New Issue
Block a user