- **날짜 형식 포맷 통일**
- 기존 `yyyyMMdd` → `yyyy-MM-dd` 포맷 변경.
- `AbstractComparisonChecker` 및 `AbstractComparisonOmChecker`에 `DATE_FORMATTER_DASH` 상수 추가.
- 모든 `delay_checker` 및 `om_checker` 클래스에서 `DATE_FORMATTER_DASH` 적용.
- **JSP 초기값 수정**
- `schRcptYmdStart` 검색 기간 초기값 조정:
- 기존 `-15일` → `-10일`로 변경.
- 초기화 버튼 클릭 시 변경된 초기값 반영.
- **페이징 UI 및 로직 제거**
- 불필요한 페이징 관련 코드 삭제:
- JSP에서 `perPageSelect`, `currentPage`, `totalPages` 삭제.
- JS에서 관련 전역 변수(`GRID_PAGINATION_INFO`) 및 `setOptPageOptions` 코드 제거.
- `readData` 메서드 호출 시 항상 첫 페이지(`1`) 로드하도록 변경.
- 그리드에서 일련번호 계산 단순화:
- 기존 전체 페이지 기반 → 현재 페이지의 키 값만 사용.
- **DB 변경**
- `tb_car_ffnlg_trgt_incmp` 스키마에서 날짜 필드 길이 확장:
- `RCPT_YMD`, `TASK_PRCS_YMD`, `CAR_REG_FRMBK_CHG_YMD` 등 날짜 관련 필드 길이 `8 → 10`.
- **기타**
- JSP 및 JS에서 사용하지 않는 포맷팅 코드 제거:
- `moment()` 호출 비활성화 및 주석화.
- **재검 여부 필터 추가**
- `검색 조건`에 재검 여부(`재검(Y)`, `미재검(N)`) 선택 기능 추가.
- 재검 여부에 따른 데이터 필터링 로직 구현:
- JSP: 검색 영역에 재검 여부 체크박스 추가.
- JS: 검색 조건(`schReinspYn`)에 재검 여부 값 추가 및 다운로드 URL에 포함되도록 설정.
- MyBatis: 쿼리에 재검 여부 필터 추가.
- **그리드 컬럼 및 데이터 처리 개선**
- 결과 그리드에 `재검 여부` 열 추가:
- JSP 및 그리드 설정에 관련 컬럼 반영.
- MyBatis 또는 데이터 처리 단계에서 `재검 여부` 값 처리 및 가공 로직 구현.
- 일련번호 계산 로직 단순화:
- 기존 페이징 정보 활용 대신 로우 키만 활용하도록 변경.
- **서비스 및 내부 로직 변경**
- 데이터 처리 단계에서 `재검 여부` 설정:
- `ServiceImpl`: 일수(`daycnt`) 값에 `*` 포함 여부로 재검 여부 결정 후 저장.
- VO 및 Mapper 수정:
- `CarFfnlgTrgtVO`, `CarFfnlgTrgtExcelVO`: 재검 여부(`reinspYn`) 필드 추가.
- DB: `tb_car_ffnlg_trgt` 테이블에 `REINSP_YN` 칼럼 추가, 마이그레이션 SQL 작성.
- **불필요한 페이징 관련 코드 제거**
- 조회 페이징용 전역 변수 및 관련 UI 제거:
- `perPageSelect`, `currentPage`, `totalPages` 등 페이징 UI 요소 삭제.
- JS 및 컨트롤러에서 페이징 관련 전역 로직 제거 및 단순화.
- **기타 개선**
- 검색 초기화 버튼에 재검 여부 관련 로직 추가.
- 검색 조건 정리(`SEARCH_COND`) 및 관련 주석 추가.
- DEBUG 로그 추가: `재검 여부` 설정 및 출력 내역 기록.
- **차량번호 및 최종등록일 별표(`*`) 처리 로직 구현**
- 차량번호와 최종등록일 앞에 별표가 포함된 경우, 별표를 별도의 필드(`vhclno-asterisk`, `last-reg-ymd-asterisk`)로 분리하여 처리.
- 별표 제거 후 본 데이터와 함께 파싱 및 조립 로직 반영:
- `CarFfnlgTrgtServiceImpl`에 별표 분리 및 데이터 처리 코드 추가.
- 별표가 포함된 경우 다시 앞부분에 별표를 붙이는 로직 구현.
- **`application.yml` 필드 길이 설정 변경**
- `vhclno-asterisk`, `last-reg-ymd-asterisk` 필드 추가 및 길이(1바이트) 정의.
- 기존 필드들의 바이트 길이 수정:
- `vhclno`: 13 → 12 (2바이트), 12 → 11 (3바이트)
- `last-reg-ymd`: 12 → 11 (2바이트), 11 → 10 (3바이트)
- 기타 관련 필드 길이 조정.
- **DB 스키마 변경**
- `tb_car_ffnlg_trgt` 테이블:
- 날짜 필드(`RCPT_YMD`, `INSP_YMD`, `LAST_REG_YMD`, 등)의 길이 기존 8 → 10으로 확장.
- `DAYCNT` 필드 길이 4 → 5, 유효기간 만료일자(`VLD_PRD_EXPRY_YMD`) 등 관련 필드 길이 변경.
- **로깅 개선**
- 별표 존재 여부 및 최종 데이터 확인용 DEBUG 로그 추가:
- 차량번호 및 최종등록일 시 별표 처리 전후 내역 상세 기록.
- **유지보수성 및 가독성 향상**
- 반복적인 고정폭 필드 처리 로직 리팩토링:
- `padRightBytes` 호출부 정리.
- 중복 및 불필요한 변수 제거, 관련 주석 정리.
- **날짜 형식 처리 방식 변경**
- 기존 YYYYMMDD → YYYY-MM-DD 변환 로직 제거:
- JSP 화면, Excel 다운로드, DB 쿼리에서 날짜 변환 없이 원본 날짜 값을 그대로 사용하도록 수정.
- `formatYmd` 및 관련 변환 메서드 제거.
- **날짜 형식 검증 로직 비활성화**
- 입력 데이터에서 '*' 포함된 특수 형식이 있는 경우를 고려하여 날짜 검증 로직 삭제:
- `isValidDate` 호출 제거 및 주석 처리.
- 검사일자, 검사종료일자, 유효기간만료일자 등에 대한 검증 로직 비활성화.
- **DB 스키마 변경**
- `tb_car_ffnlg_trgt`, `tb_car_ffnlg_trgt_incmp` 테이블:
- `RMRK_DTL` 컬럼 타입 `MODIFY COLUMN`으로 변경.
- **MyBatis 매퍼 수정**
- `CarFfnlgTrgtMapper_maria.xml`:
- SELECT 구문에서 DATE_FORMAT 제거, 원본 날짜 필드 그대로 반환하도록 수정.
- **서비스 로직 개선**
- `CarFfnlgTrgtServiceImpl`:
- `DateTimeFormatter` 추가 및 사용하지 않는 변수를 명확히 삭제.
- `padRightBytes`, `padLeftBytes` 호출부에서 날짜 형식 그대로 처리.
- **기타**
- `application.yml`에서 주석 정리 및 일관성 유지.
- 코멘트 추가 및 불필요한 변환 관련 로직 제거.
- **비고 상세 생성 및 업데이트**
- `ComparisonOmRemarkBuilder` 및 `ComparisonRemarkBuilder` 수정:
- 비고 상세 생성 시 API 호출 및 비교 과정, 판정 근거 등 추가 기록.
- 각 판정 유형별로 세부 정보를 포함하도록 형식 개선.
- **Checker 로직 개선**
- `OwnerCloseWithin31Checker`, `OwnerLevyOver31Checker` 등 `delay_checker` 클래스:
- 명의이전일자 및 검사일 간 조건 비교 로직 확장.
- 추가 쿼리 조건 및 상세한 레코드 비교 로직 포함.
- **DB 스키마 변경**
- `tb_car_ffnlg_trgt`, `tb_car_ffnlg_trgt_incmp` 테이블:
- `RMRK_DTL` 컬럼 타입을 `TEXT`로 변경.
- `RMRK_DTL` 컬럼 신규 추가로 비고 상세 저장 로직을 지원.
- **API 수정**
- `ComparisonRemarkBuilder.buildOwnerLevyOver31RemarkDetail` 메서드:
- `vldPrdExpryYmd`, `inspEndYmd` 등 추가 파라미터 처리.
- 검사종료일 및 유효기간만료일에 따른 추가 비교 로직 반영.
- **기타**
- 기존 비고 생성 로직 리팩토링 및 상세 기록을 위한 주석 추가.
- 변경 사항을 반영한 추가 SQL 파일 작성 및 테이블 변경 적용.
- **주요 변경 사항**
- `RMRK_DTL`(비고 상세) 컬럼 추가:
- `tb_car_ffnlg_trgt`, `tb_car_ffnlg_trgt_incmp` 테이블에 `RMRK_DTL`(비고 상세, 최대 4000자) 컬럼 추가.
- MyBatis 매퍼 및 VO 수정:
- 관련 쿼리(`SELECT`, `INSERT`, `UPDATE`)에 `RMRK_DTL` 필드 추가.
- `CarFfnlgTrgtVO`, `CarFfnlgTrgtExcelVO` 등 데이터 모델에 `RMRK_DTL` 속성 추가.
- 비고 상세 생성 로직 추가:
- `ComparisonRemarkBuilder`, `ComparisonOmRemarkBuilder`에 비고 상세 생성 메서드 다수 추가(`buildProductUseRemarkDetail` 등).
- 로직 내 기존 `RMRK` 생성 메서드와 함께 호출하여 상세 내용을 추가 저장.
- Checker 개선:
- `delay_checker`, `om_checker` 등 모든 체크 로직에서 비고 상세(`RMRK_DTL`) 생성 후 DB 업데이트.
- **화면 및 UI 변경**
- JSP 업데이트:
- 상세 화면 및 Excel 다운로드 시 ‘비고 상세’ 열 추가.
- ‘비고’는 너비 증가(`200px → 300px`), ‘비고 상세’는 신규 추가(`200px`).
- 내용이 길 경우 30자 요약 표시 및 팝업 기능 추가.
- **기타**
- SQL 정리 및 누락된 매퍼 반영.
- 가독성 개선을 위한 코드 리팩토링.
- 주석 및 문서 업데이트 (`자동차과태료_비교로직_정리-[미필].md`).