fix(B06): 단면 유형 없는 옛 설계 기본값 = 상단측 깎기 하나 (PLAN 472-8 ① · 요구 409)

- 브라우저 다시 셈(Cross_Refresh_Calc) · 묶음 cross 단계(Cross_Stage) 의 좌 깎기 고정 폴백 걷음
  · cross 단계는 이미 있는 uphillSide(Pipeline_Detail) 다시 씀
- 서버 [저장] 두 길도 같은 규칙 — 파이썬 stored_section_mode(Router_Design 셋 · SampleExtend)
  · Node Cross_Save storedOptions · Node 에 측점 uphill_side 넘김(Server_Calc_Prebuild)
  · 화면만 상단측이면 [저장] 뒤 좌 깎기로 뒤집혀 같이 고침
- 값 바뀜 = section_mode 없는 설계뿐(지금 DB 16 측점 · 한 프로젝트) · 그 밖 0 차
- 거울 시험 test_472_8_section_mode_default(파이썬 = Node = 브라우저 · 없음 = 상단측 적음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 21:09:50 +09:00
co-authored by Claude Opus 5.5
parent 5567a148fa
commit 4609ff0d7f
8 changed files with 206 additions and 9 deletions
+13 -3
View File
@@ -179,7 +179,7 @@ def enforce_pavement_ranges(
try:
options = dict(
ground_type=str(design.get("ground_type") or "ripping_rock"),
section_mode=str(design.get("section_mode") or "left_cut"),
section_mode=stored_section_mode(design, section),
ditch_side=design.get("ditch_side"),
ditch_type=str(design.get("ditch_type") or "standard"),
paved=wanted,
@@ -230,7 +230,7 @@ def enforce_design_lines(
try:
options = dict(
ground_type=str(design.get("ground_type") or "ripping_rock"),
section_mode=str(design.get("section_mode") or "left_cut"),
section_mode=stored_section_mode(design, section),
ditch_side=design.get("ditch_side"),
ditch_type=str(design.get("ditch_type") or "standard"),
paved=bool(design.get("paved", False)),
@@ -280,7 +280,7 @@ def enforce_ford_surface_drops(
try:
options = dict(
ground_type=str(design.get("ground_type") or "ripping_rock"),
section_mode=str(design.get("section_mode") or "left_cut"),
section_mode=stored_section_mode(design, section),
ditch_side=design.get("ditch_side"),
ditch_type=str(design.get("ditch_type") or "standard"),
paved=bool(design.get("paved", False)),
@@ -395,6 +395,16 @@ def attach_default_designs(
section["design"] = design
def stored_section_mode(stored: dict[str, Any], section: dict[str, Any]) -> str:
"""저장분 단면 유형 — 없으면(옛 설계) 상단측 깎기(지형이 정함 · 요구 409) · 상단측 모르면 좌.
짝: TS `B06_Section_Cross_Save` storedOptions · `B06_Section_Cross_Refresh_Calc` ·
`B06_Section_Cross_Stage`(`uphillSide`) · 거울 시험 `test_472_8_section_mode_default.py`.
"""
side = section.get("uphill_side")
return str(stored.get("section_mode") or f"{side if side in ('left', 'right') else 'left'}_cut")
def stored_cut_slope(stored: dict[str, Any]) -> float | None:
"""저장분에 남은 측점별 암 절토 경사비 — 없거나 0(표준값으로 되돌림)이면 None.