From 8ea1b453ed430c62f3d16233b1049539c6ff0c04 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 17 Oct 2026 12:47:00 +0900 Subject: [PATCH] =?UTF-8?q?fix(B05=20=EB=B0=B0=EC=88=98=EC=9C=A0=EC=97=AD)?= =?UTF-8?q?:=20369-2=20=EB=90=98=EB=8F=8C=EB=A6=AC=EA=B8=B0=EA=B0=80=20?= =?UTF-8?q?=EC=B4=88=EC=95=88=20=EC=97=86=EB=8A=94=20=EA=B1=B8=EC=9D=8C(?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=EB=B6=84)=EC=9C=BC=EB=A1=9C=20=EA=B0=88=20?= =?UTF-8?q?=EB=95=8C=20=3D=20=EC=A0=80=EC=9E=A5=EB=B6=84=20=EB=8B=A4?= =?UTF-8?q?=EC=8B=9C=20=EB=B0=9B=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - [배관 배치 초기화] 뒤 첫 걸음으로 되돌리면 관 자리만 돌아오고 세월교가 배관으로 남던 흠 - 화면 검증(검증_sub5 · 5180) — 초기화 → 되돌리기 = 세월교 둘 · 관 11 그대로 · ① → 초기화 → 되돌리기 둘 · 다시하기 정상 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn --- B05_Profile/B05_Profile_UI_Drainage_Panel.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/B05_Profile/B05_Profile_UI_Drainage_Panel.ts b/B05_Profile/B05_Profile_UI_Drainage_Panel.ts index c65c6d1e8..ab255052d 100644 --- a/B05_Profile/B05_Profile_UI_Drainage_Panel.ts +++ b/B05_Profile/B05_Profile_UI_Drainage_Panel.ts @@ -34,6 +34,7 @@ import { snapStructureStation } from "../common_util/common_util_structure_stati import { createFacilityStore } from "./B05_Profile_UI_Drainage_Facility"; import { mergeFacilityOptions } from "./logic/B05_Profile_UI_Drainage_Facility_Merge"; import { readPendingPipes, writePendingPipes } from "./B05_Profile_Api_Pipes_Draft"; +import { pageReplaying } from "./B05_Profile_UI_Profile_History"; import { buildPipeReports } from "./B05_Profile_UI_Drainage_Report"; import { fillFordHeights, fordWaitsOf, waitsFordHeight } from "./B05_Profile_UI_Drainage_Ford_Fill"; import { createDrainageChrome } from "./B05_Profile_UI_Drainage_Chrome"; @@ -592,14 +593,13 @@ export function createDrainagePanel(callbacks: DrainagePanelCallbacks = {}): Dra const before = pipeEditor.pipes().map((pipe) => pipe.chainage_m); const next = reconcilePipes(pipeEditor.pipes(), chainages); if (!next) return; // 같은 목록 — 되돌아온 것이므로 여기서 끊는다 - // 되돌리기 = 그 걸음 초안의 속성 · id(369) · 구조물 폼으로 옮겨진 관은 속성을 데려감 - const draft = adoptDraftPipes(readPendingPipes(projectId as string), next); + // 되돌리기 = 그 걸음 초안의 속성 · id · 초안 없는 걸음은 저장분(369) · 구조물 폼은 속성 데려감 + const pending = pageReplaying() ? readPendingPipes(projectId as string) : null; + if (pageReplaying() && !pending) return void run(loadSaved, true); + const draft = adoptDraftPipes(pending, next); + const after = next.map((pipe) => pipe.chainage_m); if (draft) facilityStore.replaceFromResponse(draft); - else - facilityStore.follow( - before, - next.map((pipe) => pipe.chainage_m), - ); + else facilityStore.follow(before, after); pipeEditor.setPipes(next); void analyze(); },