From e113a20b237d22f82794ad9f381f9916224d8b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Fri, 12 Dec 2025 18:16:43 +0900 Subject: [PATCH] =?UTF-8?q?###=20feat:=20`Step=201`=20=EB=A1=9C=EC=A7=81?= =?UTF-8?q?=20=EA=B3=B5=ED=86=B5=ED=99=94=20=EB=B0=8F=20`delay=5Fchecker`?= =?UTF-8?q?=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=8B=9C=EA=B7=B8=EB=8B=88?= =?UTF-8?q?=EC=B2=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - **`Step 1` 공통 로직 도입** - `ComparisonServiceImpl`에서 차대번호 기반 API 호출(`Step 1`)을 공통화: - `step1Response` 생성 및 응답 데이터 유효성 검증 추가. - 오류 처리 및 로깅(`log.warn`, `log.error`) 강화. - 응답 객체를 각 검사 로직에서 재사용하도록 수정. - **`delay_checker` 메서드 시그니처 업데이트** - 기존 `check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response)` → `check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response)`로 변경: - 모든 `delay_checker`(`OwnerCloseWithin31Checker`, `ProductUseChecker`, `TransferCase115DayChecker` 등)에 반영. - 공통 API 호출(`Step 1`) 결과를 재활용하여 불필요한 중복 호출 제거. - `createBasicRequest`, `bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx` 처리 로직 정리. - **로직 순서 정리 및 가독성 개선** - 처리 흐름 단순화: - 검사 단계 순서를 공통 체크 → 내사종결 → 날짜 수정 후 부과로 정리. - 각 체커 로직에서 호출 단계별 주석 추가. - **`ComparisonOmServiceImpl` 로직 재정렬** - 명의이전 로직(`ownerTransferOmChecker`) 순서를 뒤로 이동: - 기존 이첩 로직 다음 단계로 조정하여 처리 가독성 강화. - **불필요한 호출 제거** - `delay_checker` 내 중복된 `Step 1` 호출 제거: - 공통화된 `step1Response` 객체를 활용하도록 모든 로직 간소화. - **기타** - 주석 및 로깅 일관성 개선: - 호출 단계별 로그 추가 및 기존 주석 정리. - `step1Response` 응답 유효성 검증 및 오류 시 로깅 처리 강화. --- .../service/impl/ComparisonServiceImpl.java | 35 +++++++++++++++---- .../impl/delay_checker/ComparisonChecker.java | 3 +- .../OwnerCloseWithin31Checker.java | 10 ++---- .../delay_checker/OwnerLevyOver31Checker.java | 10 ++---- .../ProductCloseWithin31Checker.java | 10 ++---- .../ProductLevyOver31Checker.java | 10 ++---- .../impl/delay_checker/ProductUseChecker.java | 10 ++---- .../ProductUseChnageChecker.java | 10 ++---- .../TransferCase115DayChecker.java | 2 +- .../service/impl/ComparisonOmServiceImpl.java | 16 ++++----- 10 files changed, 51 insertions(+), 65 deletions(-) diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/ComparisonServiceImpl.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/ComparisonServiceImpl.java index 0cc1465..c919675 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/ComparisonServiceImpl.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/ComparisonServiceImpl.java @@ -85,50 +85,71 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co return null; } + // ========== Step 1: 자동차기본정보 조회 (차대번호 + 검사일) - 한번만 호출 ========== + String step0vin = step0Response.getRecord().get(0).getVin(); + String inspYmd = existingData.getInspYmd().replace("-", ""); + log.info("[공통] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); + NewBasicResponse step1Response = null; + try { + NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); + step1Response = apiService.getBasicInfo(step1Request); + bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); + + if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { + log.warn("[공통] Step 1 응답 없음 - 차대번호: {}", step0vin); + log.info("========== 비교 로직 종료 (Step 1 응답 없음): {} ==========", vhclno); + return null; + } + } catch (Exception e) { + log.error("[공통] Step 1 호출 중 오류 발생 - 차대번호: {}", step0vin, e); + log.info("========== 비교 로직 종료 (Step 1 오류): {} ==========", vhclno); + return null; + } + // ========== 1. 상품용 체크 - api-1번호출.소유자명.contains("상품용") ========== - String productUseResult = productUseChecker.check(existingData, userOrgCd, step0Response); + String productUseResult = productUseChecker.check(existingData, userOrgCd, step0Response, step1Response); if (productUseResult != null) { log.info("========== 비교 로직 종료 (상품용): {} ==========", vhclno); return productUseResult; } // ========== 2. 상품용 체크 - api-1번호출.소유자명.contains("상품용-변경등록") ========== - String productUseChangeResult = productUseChnageChecker.check(existingData, userOrgCd, step0Response); + String productUseChangeResult = productUseChnageChecker.check(existingData, userOrgCd, step0Response, step1Response); if (productUseChangeResult != null) { log.info("========== 비교 로직 종료 (상품용-변경등록): {} ==========", vhclno); return productUseChangeResult; } // ========== 3. 내사종결 체크 - 명의이전 이전소유자 상품용, 31일 이내 ========== - String investigationClosedByProductResult = productCloseWithin31Checker.check(existingData, userOrgCd, step0Response); + String investigationClosedByProductResult = productCloseWithin31Checker.check(existingData, userOrgCd, step0Response, step1Response); if (investigationClosedByProductResult != null) { log.info("========== 비교 로직 종료 (내사종결 - 명의이전 이전소유자 상품용, 31일 이내): {} ==========", vhclno); return investigationClosedByProductResult; } // ========== 4. 내사종결 체크 - 명의이전, 31일 이내 ========== - String investigationClosedByOwnerChangeResult = ownerCloseWithin31Checker.check(existingData, userOrgCd, step0Response); + String investigationClosedByOwnerChangeResult = ownerCloseWithin31Checker.check(existingData, userOrgCd, step0Response, step1Response); if (investigationClosedByOwnerChangeResult != null) { log.info("========== 비교 로직 종료 (내사종결 - 명의이전, 31일 이내): {} ==========", vhclno); return investigationClosedByOwnerChangeResult; } // ========== 5. 이첩 체크 ========== - String transferResult = transferCase115DayChecker.check(existingData, userOrgCd, step0Response); + String transferResult = transferCase115DayChecker.check(existingData, userOrgCd, step0Response, step1Response); if (transferResult != null) { log.info("========== 비교 로직 종료 (이첩): {} ==========", vhclno); return transferResult; } // ========== 6. 날짜 수정 후 부과 체크 - 명의이전 이전소유자 상품용, 31일 초과 ========== - String dateModifiedLevyByProductResult = productLevyOver31Checker.check(existingData, userOrgCd, step0Response); + String dateModifiedLevyByProductResult = productLevyOver31Checker.check(existingData, userOrgCd, step0Response, step1Response); if (dateModifiedLevyByProductResult != null) { log.info("========== 비교 로직 종료 (날짜 수정 후 부과 - 명의이전 이전소유자, 31일 초과): {} ==========", vhclno); return dateModifiedLevyByProductResult; } // ========== 7. 날짜 수정 후 부과 체크 - 명의이전, 31일 초과 ========== - String dateModifiedLevyByOwnerChangeOverResult = ownerLevyOver31Checker.check(existingData, userOrgCd, step0Response); + String dateModifiedLevyByOwnerChangeOverResult = ownerLevyOver31Checker.check(existingData, userOrgCd, step0Response, step1Response); if (dateModifiedLevyByOwnerChangeOverResult != null) { log.info("========== 비교 로직 종료 (날짜 수정 후 부과 - 명의이전, 31일 초과): {} ==========", vhclno); return dateModifiedLevyByOwnerChangeOverResult; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ComparisonChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ComparisonChecker.java index a9bdb21..eb0cd16 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ComparisonChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ComparisonChecker.java @@ -16,7 +16,8 @@ public interface ComparisonChecker { * @param existingData 과태료 대상 데이터 * @param userOrgCd 사용자 조직코드 * @param step0Response Step 0 API 응답 (차량번호 + 오늘일자로 조회한 기본정보) + * @param step1Response Step 1 API 응답 (차대번호 + 검사일로 조회한 기본정보) * @return 처리상태코드 또는 null (미적용) */ - String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response); + String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response); } diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerCloseWithin31Checker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerCloseWithin31Checker.java index aa3810e..c19d908 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerCloseWithin31Checker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerCloseWithin31Checker.java @@ -36,7 +36,7 @@ public class OwnerCloseWithin31Checker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class OwnerCloseWithin31Checker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ========== - log.info("[내사종결-명의이전] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[내사종결-명의이전] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerLevyOver31Checker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerLevyOver31Checker.java index 68620b9..19f314f 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerLevyOver31Checker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/OwnerLevyOver31Checker.java @@ -36,7 +36,7 @@ public class OwnerLevyOver31Checker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class OwnerLevyOver31Checker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ========== - log.info("[날짜수정후부과-명의이전] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[날짜수정후부과-명의이전] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductCloseWithin31Checker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductCloseWithin31Checker.java index 198bdc3..fa6b4d1 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductCloseWithin31Checker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductCloseWithin31Checker.java @@ -36,7 +36,7 @@ public class ProductCloseWithin31Checker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class ProductCloseWithin31Checker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ========== - log.info("[내사종결-명의이전 상품용] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[내사종결-명의이전 상품용] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductLevyOver31Checker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductLevyOver31Checker.java index 314cda9..79072da 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductLevyOver31Checker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductLevyOver31Checker.java @@ -36,7 +36,7 @@ public class ProductLevyOver31Checker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class ProductLevyOver31Checker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ========== - log.info("[날짜수정후부과-명의이전 상품용] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[날짜수정후부과-명의이전 상품용] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChecker.java index 69cfd0b..14972bf 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChecker.java @@ -36,7 +36,7 @@ public class ProductUseChecker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class ProductUseChecker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차대번호, 부과일자=검사일) ========== - log.info("[상품용] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[상품용] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChnageChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChnageChecker.java index 7072ae9..2165949 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChnageChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/ProductUseChnageChecker.java @@ -36,7 +36,7 @@ public class ProductUseChnageChecker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd().replace("-", ""); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd().replace("-", ""); @@ -53,13 +53,7 @@ public class ProductUseChnageChecker extends AbstractComparisonChecker { NewBasicResponse.Record step0Record = step0Response.getRecord().get(0); String step0vin = step0Record.getVin(); // 차대번호 - // ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ========== - log.info("[상품용-변경등록] Step 1: 자동차기본정보 조회 - 차대번호: {}, 검사일: {}", step0vin, inspYmd); - - NewBasicRequest step1Request = createBasicRequest(null, step0vin, inspYmd); - NewBasicResponse step1Response = apiService.getBasicInfo(step1Request); - bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId()); - + // Step 1: 공통으로 이미 호출됨 - step1Response 사용 if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) { log.warn("[상품용-변경등록] Step 1 응답 없음 - 차량번호: {}", vhclno); return null; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/TransferCase115DayChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/TransferCase115DayChecker.java index 9eae454..f49645b 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/TransferCase115DayChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registration/service/impl/delay_checker/TransferCase115DayChecker.java @@ -33,7 +33,7 @@ public class TransferCase115DayChecker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd, NewBasicResponse step0Response, NewBasicResponse step1Response) { String vhclno = existingData.getVhclno(); try { diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/ComparisonOmServiceImpl.java b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/ComparisonOmServiceImpl.java index 1be8ab5..e5fba52 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/ComparisonOmServiceImpl.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/ComparisonOmServiceImpl.java @@ -47,20 +47,20 @@ public class ComparisonOmServiceImpl extends EgovAbstractServiceImpl implements return productUseResult; } - // ========== 2. 명의이전 소유자 확인 (검사유효기간 종료일 이후 명의이전) ========== - String ownerTransferResult = ownerTransferOmChecker.check(existingData, userOrgCd); - if (ownerTransferResult != null) { - log.info("========== 미필 비교 로직 종료 (명의이전 소유자 확인): {} ==========", vhclno); - return ownerTransferResult; - } - - // ========== 3. 이첩 체크 ========== + // ========== 2. 이첩 체크 ========== String transferResult = transferOmChecker.check(existingData, userOrgCd); if (transferResult != null) { log.info("========== 미필 비교 로직 종료 (이첩): {} ==========", vhclno); return transferResult; } + // ========== 3. 명의이전 소유자 확인 (검사유효기간 종료일 이후 명의이전) ========== + String ownerTransferResult = ownerTransferOmChecker.check(existingData, userOrgCd); + if (ownerTransferResult != null) { + log.info("========== 미필 비교 로직 종료 (명의이전 소유자 확인): {} ==========", vhclno); + return ownerTransferResult; + } + log.info("========== 미필 비교 로직 종료 (미적용): {} ==========", vhclno); return null; }