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