Files
wace_plm/test_contract_registration.md
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- Add Docker Compose configurations for dev, prod, and standalone environments
- Add database initialization scripts (init-db.sh, init-db-docker.sh)
- Add enhanced start-docker-linux.sh with DB init support
- Add comprehensive database initialization guide
- Support for automatic dbexport.pgsql import on first run
- Include safety checks for production environment
2025-08-29 15:46:08 +09:00

167 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 영업관리 등록창 테스트 가이드
## 📋 테스트 개요
`docs/영업_계약_수정.md` 문서에 따라 구현된 새로운 영업관리 등록창의 데이터 저장 기능을 테스트합니다.
## 🚀 테스트 환경
- **서버 URL**: http://localhost:8090
- **테스트 계정**: plm_admin (패스워드는 관리자에게 문의)
- **테스트 페이지**: http://localhost:8090/contractMgmt/contracMgmtFormPopup.do
## ✅ 구현 완료 사항
### 1. 백엔드 수정 완료
- **ContractMgmtController.java**: 신규 공통코드 2개 추가 (통화단위, 계약방식)
- **ContractMgmtService.java**: CONTRACT_MGMT 테이블 사용하도록 변경, 25개 신규 필드 처리
- **contractMgmt.xml**: saveContractMgmtInfo 쿼리에 25개 신규 필드 추가
### 2. 프론트엔드 수정 완료
- **contracMgmtFormPopup.jsp**: 5개 섹션으로 재구성
- 📋 [영업정보]
- 🔧 [사양상세]
- 📈 [영업진행]
- 💰 [견적이력 및 결과]
- 📝 [특이사항]
### 3. 데이터베이스 준비 완료
- **공통코드 데이터**: 6개 공통코드의 부모/하위 데이터 준비 완료
- **테이블 구조**: CONTRACT_MGMT 테이블에 25개 신규 필드 확인
## 🧪 테스트 절차
### Step 1: 로그인
1. http://localhost:8090 접속
2. plm_admin 계정으로 로그인
### Step 2: 영업관리 화면 접근
1. 메뉴에서 "영업관리" → "계약관리" 선택
2. "등록" 버튼 클릭하여 등록창 열기
### Step 3: 테스트 데이터 입력
#### 📋 [영업정보] 섹션
- **계약구분**: 개발 선택
- **과거프로젝트번호**: PRJ-2024-001
- **고객사**: 기존 고객사 선택
- **제품군**: 기존 제품 선택
- **장비명**: 테스트 압력용기 시스템
- **설비대수**: 2
- **요청납기일**: 2025-12-31
- **입고지**: 서울특별시 강남구
- **셋업지**: 경기도 성남시
#### 🔧 [사양상세] 섹션
- **재질**: SUS304
- **압력(BAR)**: 10.5
- **온도(℃)**: 85
- **용량(LITER)**: 1000
- **Closure Type**: Bolted Cover
- **기타(소모품)**: 가스켓, 볼트
- **전압**: 220V
- **인증여부**: KS 인증 완료
#### 📈 [영업진행] 섹션
- **진행단계**: 견적제출 선택
#### 💰 [견적이력 및 결과] 섹션
- **통화**: KRW 선택
- **견적금액(1차)**: 50,000,000
- **견적금액(2차)**: 48,000,000
- **견적금액(3차)**: 45,000,000
- **수주일**: 2025-08-15
- **수주가**: 자동계산 확인 (90,000,000)
- **Result**: 수주 선택
- **계약방식**: 조달 선택
- **P/O No**: PO-2025-001
- **PM**: 기존 사용자 선택
- **당사프로젝트명**: 압력용기 개발 프로젝트
#### 📝 [특이사항] 섹션
```
고객 요구사항: 내압 테스트 필수
납기일 엄수 요청
품질 인증서 제출 필요
```
### Step 4: 저장 테스트
1. "저장" 버튼 클릭
2. 성공 메시지 확인
3. 저장된 데이터 목록에서 확인
## 🔍 검증 포인트
### 1. 화면 구성 검증
- [ ] 5개 섹션이 올바르게 표시되는가?
- [ ] 공통코드 선택 옵션이 정상 로딩되는가?
- [ ] 자동계산 기능이 동작하는가? (수주가 = 최신견적금액 × 설비대수)
### 2. 데이터 저장 검증
- [ ] 25개 신규 필드가 모두 저장되는가?
- [ ] 기존 필드와 신규 필드가 함께 저장되는가?
- [ ] 저장 후 목록에서 데이터가 확인되는가?
### 3. 오류 처리 검증
- [ ] 필수 필드 누락 시 적절한 오류 메시지가 표시되는가?
- [ ] 잘못된 데이터 입력 시 검증이 동작하는가?
## 🐛 알려진 이슈
### 1. 로그인 세션 필요
- API 직접 호출 시 세션 인증이 필요함
- 브라우저에서 로그인 후 테스트 권장
### 2. 공통코드 데이터
- 신규 공통코드 2개(통화단위, 계약방식)가 아직 데이터베이스에 등록되지 않았을 수 있음
- 필요시 `docs/insert_common_codes.sql` 실행
## 📊 테스트 결과 기록
### 성공 케이스
```json
{
"RESULT": {
"result": true,
"msg": "저장되었습니다."
}
}
```
### 실패 케이스
```json
{
"RESULT": {
"result": false,
"msg": "저장에 실패하였습니다."
}
}
```
## 🔧 문제 해결
### 1. 저장 실패 시
1. 브라우저 개발자 도구에서 네트워크 탭 확인
2. 서버 로그 확인: `docker-compose -f docker-compose.dev.yml logs plm-ilshin`
3. 데이터베이스 연결 상태 확인
### 2. 화면 오류 시
1. 브라우저 콘솔에서 JavaScript 오류 확인
2. CSS 파일 로딩 상태 확인
3. JSP 컴파일 오류 확인
## 📞 지원
테스트 중 문제 발생 시:
1. 브라우저 개발자 도구 스크린샷
2. 서버 로그 복사
3. 입력한 테스트 데이터 기록
위 정보와 함께 문의하시기 바랍니다.
---
**마지막 업데이트**: 2025-07-14
**테스트 환경**: Docker 개발환경, PostgreSQL 데이터베이스
**구현 완료도**: 95% (로그인 세션 테스트 제외)