ERP-node/.cursor/rules/navigation-guide.mdc

103 lines
3.8 KiB
Plaintext

---
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. 트랜잭션 처리는 서비스 레벨에서 관리