- 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
4.9 KiB
4.9 KiB
영업관리 등록창 테스트 가이드
📋 테스트 개요
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: 로그인
- http://localhost:8090 접속
- plm_admin 계정으로 로그인
Step 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. 화면 구성 검증
- 5개 섹션이 올바르게 표시되는가?
- 공통코드 선택 옵션이 정상 로딩되는가?
- 자동계산 기능이 동작하는가? (수주가 = 최신견적금액 × 설비대수)
2. 데이터 저장 검증
- 25개 신규 필드가 모두 저장되는가?
- 기존 필드와 신규 필드가 함께 저장되는가?
- 저장 후 목록에서 데이터가 확인되는가?
3. 오류 처리 검증
- 필수 필드 누락 시 적절한 오류 메시지가 표시되는가?
- 잘못된 데이터 입력 시 검증이 동작하는가?
🐛 알려진 이슈
1. 로그인 세션 필요
- API 직접 호출 시 세션 인증이 필요함
- 브라우저에서 로그인 후 테스트 권장
2. 공통코드 데이터
- 신규 공통코드 2개(통화단위, 계약방식)가 아직 데이터베이스에 등록되지 않았을 수 있음
- 필요시
docs/insert_common_codes.sql실행
📊 테스트 결과 기록
성공 케이스
{
"RESULT": {
"result": true,
"msg": "저장되었습니다."
}
}
실패 케이스
{
"RESULT": {
"result": false,
"msg": "저장에 실패하였습니다."
}
}
🔧 문제 해결
1. 저장 실패 시
- 브라우저 개발자 도구에서 네트워크 탭 확인
- 서버 로그 확인:
docker-compose -f docker-compose.dev.yml logs plm-ilshin - 데이터베이스 연결 상태 확인
2. 화면 오류 시
- 브라우저 콘솔에서 JavaScript 오류 확인
- CSS 파일 로딩 상태 확인
- JSP 컴파일 오류 확인
📞 지원
테스트 중 문제 발생 시:
- 브라우저 개발자 도구 스크린샷
- 서버 로그 복사
- 입력한 테스트 데이터 기록
위 정보와 함께 문의하시기 바랍니다.
마지막 업데이트: 2025-07-14
테스트 환경: Docker 개발환경, PostgreSQL 데이터베이스
구현 완료도: 95% (로그인 세션 테스트 제외)