# 영업관리 등록창 테스트 가이드 ## 📋 테스트 개요 `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% (로그인 세션 테스트 제외)