kccf/CLAUDE.md
ythong a7bb871a74 지방문화원 찾기 구.군 '전남광주' 통합 조회 항목 추가
fnAreaSubCodeList에서 시.도 코드가 콤마로 조합된 경우(전남광주),
구.군 목록 최상단에 value="" '전남광주' 옵션을 추가해 구.군 필터
없이 광주+전남 문화원을 통합 조회하도록 함.

- 운영(210.181.197.152 webapps/kccf) 개별 JSP 반영 완료
  (백업: listLclttFind.jsp.bak_20260709_124900, 동일 폴더)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 12:50:27 +09:00

7.5 KiB

KCCF 프로젝트

프로젝트 개요

문화예술 사업 관리 시스템 (eGovFramework 4.0.0 + Spring MVC 5.3.6 + MyBatis + JSP/Tiles)

하네스: KCCF 개발 자동화

목표: eGovFramework 패턴 기반 CRUD 개발, 버그 수정, 보안 검토를 에이전트 팀으로 자동화

트리거: KCCF 관련 개발 작업(신규 기능, 화면 추가, 버그 수정, 쿼리 작업, 보안 점검) 요청 시 kccf-orchestrate 스킬을 사용하라. 단순 질문은 직접 응답 가능.

핵심 도메인

패키지 한글명 역할
kccf.bsns 사업 문화예술 사업 관리
kccf.act 활동 사업 연계 행사/활동
kccf.lcltt 지방문화원 지역 문화기관
kccf.bbs 게시판 공지/갤러리/FAQ/강의
kccf.auth 권한 메뉴별 읽기/쓰기
kccf.code 코드 공통코드/상세코드
kccf.user 사용자 회원 관리

변경 이력

날짜 변경 내용 대상 사유
2026-06-15 하네스 초기 구성 전체 KCCF 개발 자동화
2026-07-08 지방문화원 시.도 검색에 '전남광주' 통합 버튼 추가 (광주/전남 버튼 제거, 서울-부산 사이 배치, 클릭 시 두 지역 통합 검색) kccf.lcltt - listLcltt.jsp(관리자), listLclttFind.jsp(공개 찾기), LclttDAO.xml(selectLclttList, selectLclttFindList - AREA_CODE 다중값 매칭을 INSTR 방식으로 변경) 사용자 요청(광주/전남 조직 통합 반영). 매퍼 XML 변경은 Tomcat 재시작 후 적용됨
2026-07-08 공개 찾기 화면에서 '전남광주' 선택 시 구.군 드롭다운이 비는 문제 수정 kccf.lcltt - LclttDAO.xml(selectAreaSubCodeListAjax - ADIT_ATRB_INFO_VALUE1 매칭을 INSTR 방식으로 변경) 병합 코드("GJ,JN")가 단일값 매칭에 걸리지 않던 문제. Tomcat 재시작 필요
2026-07-08 관리자 지방문화원 상세(lclttRegist.jsp) 저장 시 "시스템 에러"(egovError.jsp) 발생 수정 kccf.lcltt - LclttServiceImpl.java(insertLcltt/updateLcltt - 주소1 텍스트로 구.군을 추정하는 로직에서 배열 인덱스/null 체크 없이 접근하던 부분을 setAreaSubCodeByAdres()로 분리, 방어 코드 추가) 폼에 구.군(AREA_SUB_CODE) 선택 UI가 없어 서비스단이 주소 문자열 파싱으로 대신 추정하는데, 매칭 실패/이상 데이터 시 ArrayIndexOutOfBoundsException 또는 NullPointerException이 발생해 저장이 실패하던 문제. 매칭 실패 시 예외 대신 조용히 건너뛰도록 수정. WAS 재시작(재빌드) 필요
2026-07-08 관리자 지방문화원 등록/수정 화면에 구.군(AREA_SUB_CODE) 선택 드롭다운 추가 (근본 개선) kccf.lcltt - lclttRegist.jsp(지역 select 옆에 구.군 select 추가, /lcltt/selectAreaSubCodeListAjax.do 연동, 필수값 검증 추가, 주소검색 팝업 콜백에서 sggNm 일치 시 자동 선택), LclttDAO.xml(selectLclttDetail - A.AREA_SUB_CODE 컬럼 추가로 수정화면 진입 시 기존 값 표시), LclttServiceImpl.java(insertLcltt/updateLcltt - 폼에서 areaSubCode가 명시적으로 전달되면 이를 우선 사용하고, 비어있을 때만 주소 텍스트 추정 로직을 폴백으로 사용) 주소 텍스트 파싱으로 구.군을 추정하는 기존 방식이 근본적으로 취약(오탐/미스매치로 AREA_SUB_CODE가 계속 null 저장됨)하여, listLclttFind.jsp와 동일한 지역-구.군 연동 드롭다운 패턴으로 명시적 선택이 가능하도록 개선. WAS 재시작(재빌드) 필요
2026-07-08 지방문화원 구.군 선택 기능 - Tomcat 배포 디렉토리에 개별 파일 반영 (WAR 재배포 없이 빌드/배포) C:\apache-tomcat-9.0.79-windows-x64\apache-tomcat-9.0.79\webapps\ROOT - WEB-INF/classes/kccf/lcltt/service/impl/LclttServiceImpl.class(WEB-INF/lib 클래스패스로 javac -source/-target 8 직접 컴파일해 교체, .java 소스도 갱신), WEB-INF/jsp/mng/lcltt/lclttRegist.jsp(교체), WEB-INF/classes/egovframework/mapper/kccf/lcltt/LclttDAO.xml(selectLclttDetail에 A.AREA_SUB_CODE 추가) 사용자 요청: war로 통째로 푸는 것 금지, 변경된 파일만 개별 반영. Maven/네트워크 접근 없이 WEB-INF/lib 기존 jar를 클래스패스로 사용해 컴파일. Tomcat 재시작 필요
2026-07-09 공개 찾기 화면 구.군 드롭다운에 '전남광주'(통합 전체) 항목 추가 kccf.lcltt - listLclttFind.jsp(fnAreaSubCodeList - 시.도 코드가 콤마로 조합된 경우, 구.군 목록 최상단에 value="" '전남광주' 옵션을 추가해 선택 시 구.군 필터 없이 광주+전남 통합 조회) 사용자 요청: 시.도에서 '전남광주' 선택 시 구.군에도 광주/전남을 한번에 전체 조회하는 항목이 필요. 기존엔 '광주광역시'만 기본 선택되어 전남 문화원이 누락됐음. JSP만 변경되어 재컴파일 불요(Tomcat이 JSP 변경 자동 반영, 캐싱 설정에 따라 재배포 필요할 수 있음)
2026-07-09 위 '전남광주' 구.군 항목 추가 - Tomcat 배포 디렉토리 JSP 개별 반영 C:\apache-tomcat-9.0.79-windows-x64\apache-tomcat-9.0.79\webapps\ROOT\WEB-INF\jsp\kccf\lcltt\listLclttFind.jsp - fnAreaSubCodeList에 동일 로직 적용 사용자 요청: WAR 재배포 없이 변경 JSP만 반영. 단, 배포본의 $(document).ready 초기화 로직(pageNo 없이 진입 시 기본 '서울' 지역 선택하는 uniq/SU 처리)이 소스 리포지토리(src/main/webapp)에는 없어 배포본과 소스가 이미 어긋나 있었음 — 이번 반영은 배포본의 기존 코드는 그대로 두고 fnAreaSubCodeList 부분만 동일하게 수정함. 소스 동기화 필요 여부는 별도 확인 요망
2026-07-09 위 '전남광주' 구.군 항목 반영 확인을 위한 Tomcat 강제 재기동 및 동작 검증 C:\apache-tomcat-9.0.79-windows-x64\apache-tomcat-9.0.79 - shutdown.bat/startup.bat 정상 실행에도 JSP 컴파일 캐시(work 디렉토리)가 갱신되지 않고 두 번째 기동이 응답 없이 멈추는 문제 발생 → PowerShell(Stop-Process, commandline에 'catalina' 포함된 java.exe 대상)로 강제 종료 후 재기동하여 정상화. http://localhost:8080/lcltt/lclttFindPage.do?searchAreaCode=GJ,JN(구.군 값 비움)로 직접 요청해 광주+전남 통합 29건이 정상 조회됨을 확인(전남 소속인 목포문화원·여수문화원 포함) 사용자가 재시작/새로고침 후에도 화면에 '전남광주' 항목이 안 보인다고 보고. 검증용으로 만든 임시 파일(force_kill_tomcat.bat, open_test_page.url, open_test_page2.url)은 bin 폴더에 정리 못 하고 남아있음 - 실행에는 무해하나 추후 수동 삭제 필요
2026-07-09 소스 저장소(C:\Users\URP2026\Desktop\source_new\kccf) git 커밋 시도 - 보류 .git/index.lock listLclttFind.jsp, CLAUDE.md 두 파일만 stage해서 커밋하려 했으나 .git/index.lock이 계속 존재해 git add가 반복 실패(재시도 5회 포함). 사용자가 lock 파일 강제 삭제는 거부함 - VS Code 등 다른 Git 클라이언트가 저장소를 물고 있는지 확인 필요. 참고로 저장소 전체는 CRLF/LF 줄바꿈 차이로 무관한 파일 2,361개가 수정된 것처럼 표시되는 상태(git diff -w로 보면 우리가 만진 2개 파일만 실제 변경분이 있음)