4 Commits

Author SHA1 Message Date
45d991a25c UPDATE 2026-08-06 11:29:00 +09:00
1d60d474b8 fix: 레시피 전환 시 Scout Field 이전 레시피 잔존(레시피축 stale) 수정
증상: 레시피 전환 후에도 이전 레시피의 Scout Field 영역이 그대로 적용됨.
원인: RecipeFieldScan(싱글톤)은 페이지명으로만 키잉되어 레시피 식별자가 없고,
ReloadRecipe에서 필드 재로드가 주석 처리됨. 또한 UpdateWeldingLinesRecipe →
콤보박스 SelectedIndexChanged → SaveAndLoadFieldScanFromLasaDb 경로가
WorkRecipeFile은 새 경로/싱글톤은 stale인 상태로 SaveFieldHelper를 호출해
이전 레시피 데이터를 새 레시피 FieldHelper.json에 덮어쓰는 손상까지 유발.

- 가드 플래그(_suppressPageFieldSync) 추가, 콤보박스 핸들러 저장 호출을 가드
- ReloadRecipe에서 UpdateWeldingLinesRecipe를 try/finally로 감싸 전환 중 저장 억제
- 로드 전용 LoadFieldScanFromLasaDb 추가, 전환 후 새 레시피 필드만 싱글톤에 로드
- 기존 소스는 삭제 없이 주석/가드로 보존
- 빌드 검증: MSBuild Debug|x64 솔루션 오류 0개, 현장 동작 확인 완료

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 14:40:47 +09:00
to3796zw
4a655ecefb fix: ScoutNormal 페이지별 필드 로드 정정 (PageIndex 주입)
증상: 운전화면 페이지 이동 후에도 SeqScoutNormal이 이전 페이지(보통 0)의
스카우트 필드로 동작.
원인: LoadScoutField()가 GUI 캐시 selectedIndexNo 의존 — WinForms 티칭
콤보에서만 갱신되어 운전화면/자동운전 경로에선 stale.

- SeqScoutNormal_InitParam에 PageIndex 추가, 실행 시점 라이브 페이지
  (GetCurrentPageIndex)를 호출부(Recipe/Test VM)에서 명시 주입
- MainPage: LoadScoutField(int) 오버로드 + GetCurrentPageIndex() 추가
- 폴백: 페이지 없으면 selectedIndexNo 로드, 그래도 null이면 빈 리스트(NRE 방지)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 17:44:35 +09:00
d28e76c2fe file update 2026-06-05 13:44:39 +09:00