feat: complete legacy parity and modernize operator UI
This commit is contained in:
@@ -7,6 +7,11 @@ Designer가 구독하는 이벤트이며, 선언만 있고 구독되지 않은
|
||||
Designer 구독은 186개이고, 같은 핸들러를 여러 컨트롤에 연결한 구독을 화면별로 합치면
|
||||
171개다. 이 문서의 상세 목록은 그 171개를 한 번씩 모두 분류한다.
|
||||
|
||||
원본 `timerAliveChecker`는 Designer 구독이 아니다. `MainForm` 생성자 코드가 10초 interval의
|
||||
WinForms Timer를 만들고 `timerAliveChecker_Tick`을 동적으로 구독한다. 따라서 186/171 집계에
|
||||
억지로 더하지 않고 별도 활성 이벤트로 감사한다. 이 보충 경로도 현재 LegacyParityApp에
|
||||
연결됐으므로, 현행 판정에는 미이관 Designer 이벤트나 미이관 동적 활성 이벤트가 없다.
|
||||
|
||||
## 분류 기준
|
||||
|
||||
- `IMPL`: 원본의 활성 업무 동작이 C# 소유 상태/워크플로, 엄격한 WebView 브리지 intent,
|
||||
@@ -159,6 +164,26 @@ UC5는 20개 구독이 9개 핸들러를, UC7은 7개 구독이 6개 핸들러
|
||||
`listView1_MouseDown@2349`, `listView1_MouseMove@2350`, `listView1_MouseUp@2351`
|
||||
- `SAFETY (1)`: `MainForm_FormClosing@2469`
|
||||
|
||||
원본 PROGRAM 중 enabled 변경에는 입력 경로별 차이가 있다. `PlayList_CellClick`은 `m_TakeIn`이면
|
||||
checkbox 클릭을 거부하지만, `PlayList_KeyPress`의 Space와 `checkBox1_CheckedChanged`의 전체
|
||||
변경은 같은 guard가 없어 다음 송출 행을 건너뛰는 데 쓰일 수 있다. 새 앱은 PROGRAM 중 이미
|
||||
진행한 prefix와 현재 on-air 행을 고정하고 **미래 행만** Space/전체 enabled 변경을 허용한다.
|
||||
원본의 운영 편의는 보존하면서 재생 이력과 현재 행을 바꾸지 않는 안전 적응이며 자동 계약 검증은
|
||||
완료됐다. 이 변경을 포함한 최신 AppX의 물리 입력 재검증은 아직 대기 중이다.
|
||||
|
||||
## Designer 밖 동적 활성 이벤트
|
||||
|
||||
- 원본 `MainForm.cs:82-89`의 `timerAliveChecker`는 10초마다 DB 연결 끊김·복구를 확인하고
|
||||
상태 전이 때 로그를 남긴다. Designer 파일에 없다는 이유로 이전 186/171 집계에서 제외된
|
||||
것이며, 비활성 코드가 아니다.
|
||||
- 현재 `MainWindow.xaml.cs`는 창 초기화 뒤 `StartDatabaseHealthMonitor()`를 호출한다.
|
||||
`MainWindow.DatabaseHealth.cs`는 같은 10초 첫 지연/주기를 사용해 Oracle/MariaDB를 점검하고
|
||||
전이 때만 native operator log를 남긴다.
|
||||
- 운영자 DB 입력·송출·자동 갱신이 시작되면 active health check를 취소하고 공용 DB activity
|
||||
gate를 양보하며, 앱 종료 때 lifetime token과 active check를 모두 취소한다.
|
||||
- 실제 DB 서버를 강제로 끊는 장애 주입은 하지 않았다. 수명주기·전이 중복 억제·priority gate·
|
||||
cancellation은 자동 회귀로 고정한다.
|
||||
|
||||
## ThemeA `중복확인` 동등성
|
||||
|
||||
원본 `Form/ThemeA.cs:84-109`는 입력 이름과 현재 KRX/NXT 선택을 기준으로 정확히 같은
|
||||
|
||||
Reference in New Issue
Block a user