현재 검색조건 list 전체를 paging 처리 없이 전체 api 호출하는 로직 추가
apiResponse.isSuccess() == true 일 경우, [tb_car_ffnlg_trgt.CAR_BASS_MATTER_INQIRE_ID, tb_car_ffnlg_trgt.CAR_LEDGER_FRMBK_ID] 값 update
- **`VmisRequestEnricher`에서 조회구분코드 자동 설정**
- `inqireSeCode`의 기본값을 `"1"(열람)`으로 자동 설정하도록 변경.
- 중복된 수동 설정 로직 제거.
- **JSP에서 조회구분코드 필드 제거**
- `inquiry.jsp`에서 드롭다운 및 관련 코드 삭제 (`inqireSeCode` 필드).
- 자바스크립트에서도 조회구분코드 처리 로직 제거.
- **API 요청 관련 코드 간소화**
- `ExternalVehicleApiServiceImpl` 및 `InternalVehicleInfoServiceImpl`에서 `inqireSeCode` 수동 설정 코드 제거.
- 프론트엔드에서 전달할 필요 없어져 해당 변수 제거.
- **기본 요청 설정값 변경**
- `VmisRequestEnricher`에서 `detailExpression` 기본값을 `"2"(최종내역)`에서 `"1"(전체내역)`으로 변경.
- `README.md`, `COMPARISON_GUIDE.md`, `이첩조건_추가방법.md`, `VMIS_INTEGRATION_COMPLETE.md`, `VMIS_INTEGRATION_STRATEGY_DESIGN.md` 파일 삭제.
- Chain of Responsibility 패턴 비교 규칙 관련 문서.
- 서비스 및 구현 방법에 대한 가이드 문서 포함.
- 이첩 조건 추가 방법 및 통합 완료 가이드 문서.
- 조회구분코드 : 자동차기본정보조회, 갑부에 따라 구분코드 다르게 설정하는 부분 기본셋팅값으로 추가 함
- VehicleInquiryController 신설: 차량 통합 조회, 기본정보 조회, 등록원부(갑) 조회 기능 제공
- `/getIntegratedInfo.do`: 차량 통합 조회 엔드포인트 추가
- `/getBasicInfo.do`: 차량 기본정보 조회 엔드포인트 추가
- `/getLedgerInfo.do`: 차량 등록원부(갑) 조회 엔드포인트 추가
- Swagger API 문서화 추가
- 차량 정보 조회 화면 JSP 파일 추가: `/WEB-INF/views/carInspectionPenalty/callApi/inquiry.jsp`
- 조회 필드 및 조회 결과 표시 UI 구현
- 차량 통합 조회, 기본 조회, 등록원부 조회 옵션 제공
- 입력값 유효성 검증 및 초기화 버튼 기능 구현
- AJAX 기반 API 요청/응답 처리 로직 추가
- 서비스 계층 VehicleInfoService 의존성 주입하여 통합 로직 처리
✅ 새로운 차량 조회 기능 제공 및 사용자 편의성 개선
- Getter: 모든 필드에 대해
- Setter: 모든 final이 아닌 필드에 대해
- toString(): 모든 필드 포함
- equals(): 모든 필드 기반
- hashCode(): 모든 필드 기반
- RequiredArgsConstructor: final 필드에 대해
- LedgerRequest의 detailExpression 기본 값을 "1"로 수정 (전체내역 조회)
- application-local.yml 기본 VMIS 모드 external로 전환
- Internal/External 구현체에서 detailExpression 값 통합 수정
✅ BUILD SUCCESSFUL
- getVehicleInfo 오버로딩 추가: 차량번호 -> 요청 객체로 확장
- 기본/등록원부 요청 시 필수 파라미터 적용 로직 추가
- 고정값 설정: 개인정보공개, 경로구분코드, 내역표시, 조회구분코드
- External/Internal 모드 구현체에서 통합 로직 적용 및 레코드 기반 LedgerRequest 구성
- Request, Response 객체의 필드 설명 보강 (Swagger)
- Controller, Service 전반적으로 요청 구조 통일
- application-local.yml 기본 모드 internal로 변경
✅ BUILD SUCCESSFUL
- 내부/외부 VMIS 모드 통합 및 외부 REST URL 동적 구성
- VehicleInfoService로 서비스 계층 역할 재구성
- BasicResponse 및 LedgerResponse 단독 조회 기능 추가
- VMIS 통합 속성 구조 변경 및 application-{profile}.yml 수정
- 컨트롤러 메서드 간결화 및 모드 기반 분기 로직 추가
- 중복 모델 제거 및 Envelope 구조 통일
- Swagger 테스트 컨트롤러 보강
- ExternalVehicleApiServiceImpl: 외부 VMIS API 호출 구현
- 차량 기본정보 및 등록원부 조회 로직 추가
- 오류 처리 및 실패 응답 객체 생성 로직 포함
- VmisCarBassMatterInqireServiceImpl/VmisCarLedgerFrmbkServiceImpl:
- 내부 서비스 관계와 API 호출 보강, 응답 로그 저장 로직 추가
- 오류 시 트랜잭션 독립적 로그 작성 보장
- 관련 로그 서비스 구현체 (VmisCarBassMatterInqireLogServiceImpl, VmisCarLedgerFrmbkLogServiceImpl): 요청/응답 로그 저장 및 오류 로그 추가
- 기존 인터페이스 및 클래스 위치 이동 (VehicleInfoService 등)
- VMIS RestTemplate 설정을 내부/외부 모드로 분리
- Internal Mode: 정부 API 호출 설정(빠른 타임아웃)
- External Mode: 외부 API 호출 설정(완화된 타임아웃)
- application-{profile}.yml에 환경별 VMIS 설정 추가
- RestTemplateProperties -> VmisProperties로 대체하여 설정 통합
- 타임아웃, 연결 풀, Rate Limit 설정을 모드별로 분기
- 기존 regionCode -> sigunguCode로 수정하여 의미 명확화
- 로그 포맷 개선 및 나열 정보 추가
## 효과
- 환경 구성 단순화 및 명확화
- RestTemplate 설정 관리 용이성 향상
- 코드 유지보수성 및 가독성 개선
✅ BUILD SUCCESSFUL