--- description: globs: alwaysApply: true --- # 네비게이션 가이드 ## 프로젝트 구조 이해 ### 루트 디렉토리 ``` plm-ilshin/ ├── src/ # Java 소스 코드 ├── WebContent/ # 웹 리소스 (JSP, CSS, JS, 이미지) ├── db/ # 데이터베이스 스크립트 ├── tomcat-conf/ # Tomcat 설정 ├── docker-compose.*.yml # Docker 설정 └── 문서/ # 프로젝트 문서 ``` ### 주요 소스 디렉토리 ``` src/com/pms/ ├── controller/ # 웹 컨트롤러 (@Controller) ├── service/ # 비즈니스 로직 (@Service) ├── mapper/ # MyBatis SQL 매퍼 (XML) ├── common/ # 공통 컴포넌트 ├── salesmgmt/ # 영업관리 모듈 └── ions/ # 특수 기능 모듈 ``` ### 웹 리소스 구조 ``` WebContent/ ├── WEB-INF/ │ ├── view/ # JSP 뷰 파일 │ ├── lib/ # JAR 라이브러리 │ ├── classes/ # 컴파일된 클래스 │ └── *.xml # 설정 파일 ├── css/ # 스타일시트 ├── js/ # JavaScript 파일 ├── images/ # 이미지 리소스 └── template/ # 템플릿 파일 ``` ## 주요 파일 찾기 ### 컨트롤러 찾기 특정 URL에 대한 컨트롤러를 찾을 때: 1. URL 패턴 확인 (예: `/admin/menuMngList.do`) 2. `src/com/pms/controller/` 에서 해당 `@RequestMapping` 검색 3. 주요 컨트롤러들: - [AdminController.java](mdc:src/com/pms/controller/AdminController.java) - 관리자 기능 - [ApprovalController.java](mdc:src/com/pms/controller/ApprovalController.java) - 승인 관리 - [AsController.java](mdc:src/com/pms/controller/AsController.java) - AS 관리 ### 서비스 찾기 비즈니스 로직을 찾을 때: 1. 컨트롤러에서 `@Autowired` 된 서비스 확인 2. `src/com/pms/service/` 디렉토리에서 해당 서비스 파일 찾기 3. 주요 서비스들: - [AdminService.java](mdc:src/com/pms/service/AdminService.java) - 관리자 서비스 - [ApprovalService.java](mdc:src/com/pms/service/ApprovalService.java) - 승인 서비스 ### SQL 쿼리 찾기 데이터베이스 쿼리를 찾을 때: 1. 서비스 코드에서 `sqlSession.selectList("namespace.queryId")` 확인 2. `src/com/pms/mapper/` 에서 해당 namespace XML 파일 찾기 3. XML 파일 내에서 queryId로 검색 ### JSP 뷰 찾기 화면을 찾을 때: 1. 컨트롤러 메서드의 return 값 확인 (예: `"/admin/menu/menuMngList"`) 2. `WebContent/WEB-INF/view/` + return 값 + `.jsp` 경로로 파일 찾기 ## 모듈별 주요 기능 ### 관리자 모듈 (`/admin/*`) - 메뉴 관리: [AdminController.java](mdc:src/com/pms/controller/AdminController.java) - 사용자 관리, 권한 관리 - 코드 관리, 카테고리 관리 - 시스템 로그 관리 ### 영업 관리 (`/salesmgmt/*`) - 위치: `src/com/pms/salesmgmt/` - 영업 관련 컨트롤러, 서비스, 매퍼 분리 ### 공통 기능 (`/common/*`) - 공통 유틸리티: [CommonUtils](mdc:src/com/pms/common/utils/CommonUtils.java) - 메시지 처리: [Message](mdc:src/com/pms/common/Message.java) - 파일 처리: [FileRenameClass](mdc:src/com/pms/common/FileRenameClass.java) ## 개발 시 주의사항 ### 파일 수정 시 1. Java 파일 수정 → Eclipse에서 자동 컴파일 → `WebContent/WEB-INF/classes/`에 반영 2. JSP/CSS/JS 수정 → 바로 반영 (서버 재시작 불필요) 3. XML 설정 파일 수정 → 서버 재시작 필요 ### 데이터베이스 관련 1. 스키마 변경 시 [ilshin.pgsql](mdc:db/ilshin.pgsql) 업데이트 2. 새로운 쿼리 추가 시 해당 mapper XML 파일에 추가 3. 트랜잭션 처리는 서비스 레벨에서 관리