c9adfd7327
backend (M5, read-only): - devEoHistoryService: list + getByObjid - partMngHistList SQL 1:1 (NVL→COALESCE, PART_MNG.OBJID bigint cast, CODE_NAME→LEFT JOIN comm_code) - 동적 필터 10종 (Year/contract_objid/unit_code/part_no/part_name/change_option/eo_start~end/change_type/part_type/writer_id) - 신규등록 제외 가드: NOT (HIS_STATUS='DEPLOY' AND CHANGE_TYPE IS NULL AND REVISION='RE') + BOM_STATUS='deploy' - 품번변경(CHANGE_OPTION=0001790) 'A->B' 머지 CASE (part_no_disp/part_name_disp/revision_disp) frontend (M5): - change-list/page.tsx: 16셀 그리드 + 검색 8필드 + 페이징 - PartHisDetailDialog: 모든 필드 disabled, 4 섹션 (EO/프로젝트/PART/수량) - AdminPageRenderer dynamic 임포트 + 기존 menu_info URL 그대로 사용 개발관리 5개 메뉴 (M1~M5) baseline 완료. 본 PR 제외 (별 PR): writer SmartSelect, change_type/change_option comm_code 그룹 SmartSelect (그룹 ID 확정 후) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>