Files
Aislo/resources/tester/helper_454_final_cumulative.cjs
T
eomsangdonandClaude Opus 5.5 1458010944 refactor(454 계산 줄 유토 단계): 안 쓰는 masshaul · haul 단계 걷음 (433-3)
- 계산 줄 masshaul(유토곡선 계열) · haul(흙 배분 POST) 단계 지움 — 읽는 화면 없음 · 조작마다 헛 셈 · 헛 POST
- 유토곡선 판 계산 · createHaulPlanPrefetch · postHaulPlan 남김 · 표준단면 도착 때 cross 다시 먹이기 남김
- 탐침 시험: 끝 누가토량은 공용 계산 헬퍼(helper_454_final_cumulative) · 뒤 단계 늦은 응답 = corridor · 묶음 흙 배분 POST 0 단언

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:33:18 +09:00

24 lines
1.1 KiB
JavaScript

/* 454 — 옛 masshaul 단계 탐침 자리: 묶음 cross · profile 출력으로 누가토량 끝값(m3).
* 유토곡선 판(`B05_Profile_UI_Profile_MassHaul`)과 같은 공용 계산(`computeMassHaulSeries`) · 횡단 기준.
* `load` = 부르는 헬퍼의 TS 로더(`load("common_util", "…ts")`). */
module.exports = function finalCumulative(load, pipe, conversion) {
const cross = pipe.output("cross");
const samples = pipe.output("profile")?.samples ?? [];
if (!cross) return null;
const { computeMassHaulSeries } = load("common_util", "common_util_mass_haul.ts");
const sections = Object.values(cross.byKey)
.sort((a, b) => a.chainageM - b.chainageM)
.map((e) => ({ station_id: e.key, chainage_m: e.chainageM, design: e.detail }));
const series = computeMassHaulSeries(
{
length_m:
samples[samples.length - 1]?.chainage_m ?? sections[sections.length - 1]?.chainage_m ?? 0,
design_profiles: samples.length ? [{ samples }] : [],
},
sections,
conversion,
);
const picked = series.find((s) => s.basis === "cross") ?? series[0];
return picked?.result?.final_cumulative_m3 ?? null;
};