6.1 KB · 수정 2026-08-06 12:14
목차

acad-tread — 샘플 트리 CRUD(실 DB 반영) + 백업·수정이력 + 모덜리스 (2026-08-06)

페페 지시 ①"트리에 CRUD 기능 추가해줘. 실제 DB에도 반영할것이다. 다만 복구가 필요할 수 있으니 백업하고 수정이력 관리해줘." ②"트리 오픈시 입력/탐지 항목에서 타작업이 안된다. 락 걸지 말고 2개 창에서 모두 작업가능하게 해줘." 앞선 작업(트리 모달 신설) = session-2026-08-06-group-input-tree-modal.md.

1. 착수 전에 확인한 것 (실측)

2. 무엇을 만들었나

트리 우클릭 = 편집(페페 택1: 우클릭 메뉴 + 편집창). 새 그룹 / 새 품목 / 수정 / 복제 / 삭제 + 수정 이력 / 새로고침. 품목 더블클릭 = 수정, F2·Del·F5.

삭제 정책 (스키마가 강제한 갈림)

방식 되돌리기
그룹 remove_yn=1 숨김 remove_yn=0 → 품목까지 그대로 복귀
품목 물리 DELETE(숨김 칸이 없다) 이력의 before 로 item_no 재삽입

품목 되살리기에 IDENTITY_INSERT를 쓰지 않는다 — FK가 없어 번호가 바뀌어도 무해한데, 그 스위치는 테이블 잠금·권한·동시성 문제를 부른다.

백업·이력 (복구 경로)

모덜리스 (페페 지시 ②)

ShowDialogAcadApp.ShowModelessDialog(form)(실패 시 Show() 폴백). 트리를 열어둔 채 입력/탐지 탭·캐드 작업 계속. 창은 하나만(다시 누르면 기존 창을 앞으로 — 두 개가 열리면 어느 쪽이 최신인지 알 수 없다). 모덜리스라 [+추가] 콜백에서 _working을 매번 다시 확인한다(그 사이 작업이 시작됐을 수 있다). StartPositionCenterScreen(모덜리스는 부모 기준 센터가 안 잡힌다).

3. 검증

4. 남은 것 (페페 몫)

  1. 사무실 PC 배포C:\dev\pcadtools-plugin\pcadtools-installer-2026-08-06.zip → AutoCAD 종료 → install.bat → 재시작.
  2. 육안 1회 — 트리 열고 ①팔레트·캐드가 안 잠기는지 ②우클릭 → 새 품목/수정/삭제 ③[수정 이력] → 되돌리기.
  3. 실사용 중 삭제·되돌리기가 잦아지면 이력 창에 날짜 필터·검색을 붙이는 게 다음 후보(지금은 최근 300건 단순 목록).