From edc0aa5e892253822d21917ec9306b2b03a4663b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Thu, 11 Dec 2025 18:02:29 +0900 Subject: [PATCH] =?UTF-8?q?###=20feat:=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=EC=A1=B0=EC=A7=81=EC=BD=94=EB=93=9C=20=EA=B8=B0=EB=B0=98=20?= =?UTF-8?q?=EB=B9=84=EA=B5=90=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B0=8F=20=EC=84=B8=EC=85=98=20=EC=9D=98=EC=A1=B4=EC=84=B1=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - **사용자 조직코드 추가** - `ComparisonChecker` 및 `ComparisonOmChecker`의 `check` 메서드에 `userOrgCd` 매개변수 추가. - 세션에서 사용자 정보를 가져오던 방식 제거 후, 호출부에서 조직코드를 전달하도록 변경. - **Checker 클래스 수정** - `ProductUseChecker`, `OwnerCloseWithin31Checker`, `OwnerLevyOver31Checker` 등 모든 `delay_checker` 및 `om_checker` 클래스에서 새로운 매개변수(`userOrgCd`)를 활용하는 방식으로 수정. - 사용자 조직코드 유효성 검사 추가. - **세션 의존성 제거** - 불필요한 `SessionUtil` 및 `LoginUserVO` 관련 코드 삭제. - 사용자 정보의 외부 주입 방식을 통해 세션 로그인을 사용하지 않는 호출도 가능하도록 개선. - **비교 서비스 로직 수정** - `ComparisonServiceImpl` 및 `ComparisonOmServiceImpl`에서 세션 기반 사용자 정보 조회 후 조직코드 추출 및 모든 관련 호출로 전달. - 비교 로직 유지보수성 강화. - **기타** - 중복 코드 제거 및 코드 정리. - 주석 업데이트. --- .../service/impl/ComparisonServiceImpl.java | 20 ++++++++++++------- .../impl/delay_checker/ComparisonChecker.java | 3 ++- .../OwnerCloseWithin31Checker.java | 2 +- .../delay_checker/OwnerLevyOver31Checker.java | 2 +- .../ProductCloseWithin31Checker.java | 2 +- .../ProductLevyOver31Checker.java | 2 +- .../impl/delay_checker/ProductUseChecker.java | 2 +- .../ProductUseChnageChecker.java | 2 +- .../TransferCase115DayChecker.java | 10 +++------- .../service/impl/ComparisonOmServiceImpl.java | 12 ++++++++--- .../impl/om_checker/ComparisonOmChecker.java | 3 ++- .../om_checker/OwnerTransferOmChecker.java | 2 +- .../impl/om_checker/ProductUseOmChecker.java | 2 +- .../impl/om_checker/TransferOmChecker.java | 10 +++------- 14 files changed, 40 insertions(+), 34 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 f95aa4d..7996f23 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 @@ -1,8 +1,10 @@ package go.kr.project.carInspectionPenalty.registration.service.impl; +import egovframework.util.SessionUtil; import go.kr.project.carInspectionPenalty.registration.model.CarFfnlgTrgtVO; import go.kr.project.carInspectionPenalty.registration.service.ComparisonService; import go.kr.project.carInspectionPenalty.registration.service.impl.delay_checker.*; +import go.kr.project.login.model.LoginUserVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; @@ -49,50 +51,54 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co String vhclno = existingData.getVhclno(); log.info("========== 비교 로직 시작: {} ==========", vhclno); + // ========== 세션에서 사용자 정보 조회 ========== + LoginUserVO userInfo = SessionUtil.getLoginUser(); + String userOrgCd = userInfo != null ? userInfo.getOrgCd() : null; + // ========== 1. 상품용 체크 - api-1번호출.소유자명.contains("상품용") ========== - String productUseResult = productUseChecker.check(existingData); + String productUseResult = productUseChecker.check(existingData, userOrgCd); if (productUseResult != null) { log.info("========== 비교 로직 종료 (상품용): {} ==========", vhclno); return productUseResult; } // ========== 2. 상품용 체크 - api-1번호출.소유자명.contains("상품용-변경등록") ========== - String productUseChangeResult = productUseChnageChecker.check(existingData); + String productUseChangeResult = productUseChnageChecker.check(existingData, userOrgCd); if (productUseChangeResult != null) { log.info("========== 비교 로직 종료 (상품용-변경등록): {} ==========", vhclno); return productUseChangeResult; } // ========== 3. 내사종결 체크 - 명의이전 이전소유자 상품용, 31일 이내 ========== - String investigationClosedByProductResult = productCloseWithin31Checker.check(existingData); + String investigationClosedByProductResult = productCloseWithin31Checker.check(existingData, userOrgCd); if (investigationClosedByProductResult != null) { log.info("========== 비교 로직 종료 (내사종결 - 명의이전 이전소유자 상품용, 31일 이내): {} ==========", vhclno); return investigationClosedByProductResult; } // ========== 4. 내사종결 체크 - 명의이전, 31일 이내 ========== - String investigationClosedByOwnerChangeResult = ownerCloseWithin31Checker.check(existingData); + String investigationClosedByOwnerChangeResult = ownerCloseWithin31Checker.check(existingData, userOrgCd); if (investigationClosedByOwnerChangeResult != null) { log.info("========== 비교 로직 종료 (내사종결 - 명의이전, 31일 이내): {} ==========", vhclno); return investigationClosedByOwnerChangeResult; } // ========== 5. 날짜 수정 후 부과 체크 - 명의이전 이전소유자 상품용, 31일 초과 ========== - String dateModifiedLevyByProductResult = productLevyOver31Checker.check(existingData); + String dateModifiedLevyByProductResult = productLevyOver31Checker.check(existingData, userOrgCd); if (dateModifiedLevyByProductResult != null) { log.info("========== 비교 로직 종료 (날짜 수정 후 부과 - 명의이전 이전소유자, 31일 초과): {} ==========", vhclno); return dateModifiedLevyByProductResult; } // ========== 6. 날짜 수정 후 부과 체크 - 명의이전, 31일 초과 ========== - String dateModifiedLevyByOwnerChangeOverResult = ownerLevyOver31Checker.check(existingData); + String dateModifiedLevyByOwnerChangeOverResult = ownerLevyOver31Checker.check(existingData, userOrgCd); if (dateModifiedLevyByOwnerChangeOverResult != null) { log.info("========== 비교 로직 종료 (날짜 수정 후 부과 - 명의이전, 31일 초과): {} ==========", vhclno); return dateModifiedLevyByOwnerChangeOverResult; } // ========== 7. 이첩 체크 ========== - String transferResult = transferCase115DayChecker.check(existingData); + String transferResult = transferCase115DayChecker.check(existingData, userOrgCd); if (transferResult != null) { log.info("========== 비교 로직 종료 (이첩): {} ==========", vhclno); return transferResult; 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 790f99e..dcd15a9 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 @@ -13,7 +13,8 @@ public interface ComparisonChecker { * 비교 로직 실행 * * @param existingData 과태료 대상 데이터 + * @param userOrgCd 사용자 조직코드 * @return 처리상태코드 또는 null (미적용) */ - String check(CarFfnlgTrgtVO existingData); + String check(CarFfnlgTrgtVO existingData, String userOrgCd); } 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 360b38a..37b9efa 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 0efd81a..7ad9b7d 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 1413c4d..e74305a 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 f3887db..afb6426 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 6af3203..5ab6b9e 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 99b62eb..6437e1e 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) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String inspYmd = existingData.getInspYmd(); String vldPrdExpryYmd = existingData.getVldPrdExpryYmd(); 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 880a260..c68de34 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 @@ -3,7 +3,6 @@ package go.kr.project.carInspectionPenalty.registration.service.impl.delay_check import egovframework.constant.TaskPrcsSttsConstants; import egovframework.exception.MessageException; import egovframework.util.DateUtil; -import egovframework.util.SessionUtil; import go.kr.project.api.model.request.NewBasicRequest; import go.kr.project.api.model.response.NewBasicResponse; import go.kr.project.api.service.ExternalVehicleApiService; @@ -12,7 +11,6 @@ import go.kr.project.api.service.VmisCarLedgerFrmbkLogService; import go.kr.project.carInspectionPenalty.registration.mapper.CarFfnlgTrgtMapper; import go.kr.project.carInspectionPenalty.registration.model.CarFfnlgTrgtVO; import go.kr.project.carInspectionPenalty.registration.service.impl.ComparisonRemarkBuilder; -import go.kr.project.login.model.LoginUserVO; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -35,7 +33,7 @@ public class TransferCase115DayChecker extends AbstractComparisonChecker { } @Override - public String check(CarFfnlgTrgtVO existingData) { + public String check(CarFfnlgTrgtVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); try { @@ -93,16 +91,14 @@ public class TransferCase115DayChecker extends AbstractComparisonChecker { return null; } - // 세션에서 사용자 정보 조회 - LoginUserVO userInfo = SessionUtil.getLoginUser(); - if (userInfo == null || userInfo.getOrgCd() == null) { + // 사용자 조직코드 유효성 검사 + if (userOrgCd == null) { log.debug("[{}] 사용자 정보 없음", transferType); return null; } // 법정동코드 앞 4자리 vs 사용자 조직코드 앞 4자리 비교 String legalDong4 = usgsrhldStdgCd.substring(0, 4); - String userOrgCd = userInfo.getOrgCd(); String userOrg4 = userOrgCd.length() >= 4 ? userOrgCd.substring(0, 4) : userOrgCd; if (legalDong4.equals(userOrg4)) { 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 14124ef..b20c7f3 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 @@ -1,8 +1,10 @@ package go.kr.project.carInspectionPenalty.registrationOm.service.impl; +import egovframework.util.SessionUtil; import go.kr.project.carInspectionPenalty.registrationOm.model.CarFfnlgTrgtIncmpVO; import go.kr.project.carInspectionPenalty.registrationOm.service.ComparisonOmService; import go.kr.project.carInspectionPenalty.registrationOm.service.impl.om_checker.*; +import go.kr.project.login.model.LoginUserVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; @@ -35,22 +37,26 @@ public class ComparisonOmServiceImpl extends EgovAbstractServiceImpl implements String levyCrtrYmd = existingData.getLevyCrtrYmd(); log.info("========== 미필 비교 로직 시작: {}, 부과일자: {} ==========", vhclno, levyCrtrYmd); + // ========== 세션에서 사용자 정보 조회 ========== + LoginUserVO userInfo = SessionUtil.getLoginUser(); + String userOrgCd = userInfo != null ? userInfo.getOrgCd() : null; + // ========== 1. 상품용 체크 - api-1번호출.소유자명.contains("상품용") ========== - String productUseResult = productUseOmChecker.check(existingData); + String productUseResult = productUseOmChecker.check(existingData, userOrgCd); if (productUseResult != null) { log.info("========== 미필 비교 로직 종료 (상품용): {} ==========", vhclno); return productUseResult; } // ========== 2. 명의이전 소유자 확인 (검사유효기간 종료일 이후 명의이전) ========== - String ownerTransferResult = ownerTransferOmChecker.check(existingData); + String ownerTransferResult = ownerTransferOmChecker.check(existingData, userOrgCd); if (ownerTransferResult != null) { log.info("========== 미필 비교 로직 종료 (명의이전 소유자 확인): {} ==========", vhclno); return ownerTransferResult; } // ========== 3. 이첩 체크 ========== - String transferResult = transferOmChecker.check(existingData); + String transferResult = transferOmChecker.check(existingData, userOrgCd); if (transferResult != null) { log.info("========== 미필 비교 로직 종료 (이첩): {} ==========", vhclno); return transferResult; diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ComparisonOmChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ComparisonOmChecker.java index ed7edd4..b412e49 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ComparisonOmChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ComparisonOmChecker.java @@ -14,7 +14,8 @@ public interface ComparisonOmChecker { * 비교 로직 실행 * * @param existingData 과태료 대상 미필 데이터 (levyCrtrYmd 포함) + * @param userOrgCd 사용자 조직코드 * @return 처리상태코드 또는 null (미적용) */ - String check(CarFfnlgTrgtIncmpVO existingData); + String check(CarFfnlgTrgtIncmpVO existingData, String userOrgCd); } diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/OwnerTransferOmChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/OwnerTransferOmChecker.java index afbcc8d..626dde6 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/OwnerTransferOmChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/OwnerTransferOmChecker.java @@ -52,7 +52,7 @@ public class OwnerTransferOmChecker extends AbstractComparisonOmChecker { } @Override - public String check(CarFfnlgTrgtIncmpVO existingData) { + public String check(CarFfnlgTrgtIncmpVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String levyCrtrYmd = existingData.getLevyCrtrYmd(); // 미필: 검사유효기간 종료일 + 146일 String inspVldPrd = existingData.getInspVldPrd(); // 검사유효기간 diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ProductUseOmChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ProductUseOmChecker.java index dff0959..eda9896 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ProductUseOmChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/ProductUseOmChecker.java @@ -53,7 +53,7 @@ public class ProductUseOmChecker extends AbstractComparisonOmChecker { } @Override - public String check(CarFfnlgTrgtIncmpVO existingData) { + public String check(CarFfnlgTrgtIncmpVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); String levyCrtrYmd = existingData.getLevyCrtrYmd(); // 미필: 검사유효기간 종료일 + 146일 String inspVldPrd = existingData.getInspVldPrd(); // 검사유효기간 diff --git a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/TransferOmChecker.java b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/TransferOmChecker.java index 52e3113..a656767 100644 --- a/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/TransferOmChecker.java +++ b/src/main/java/go/kr/project/carInspectionPenalty/registrationOm/service/impl/om_checker/TransferOmChecker.java @@ -3,7 +3,6 @@ package go.kr.project.carInspectionPenalty.registrationOm.service.impl.om_checke import egovframework.constant.TaskPrcsSttsConstants; import egovframework.exception.MessageException; import egovframework.util.DateUtil; -import egovframework.util.SessionUtil; import go.kr.project.api.model.request.NewBasicRequest; import go.kr.project.api.model.response.NewBasicResponse; import go.kr.project.api.service.ExternalVehicleApiService; @@ -12,7 +11,6 @@ import go.kr.project.api.service.VmisCarLedgerFrmbkLogService; import go.kr.project.carInspectionPenalty.registrationOm.mapper.CarFfnlgTrgtIncmpMapper; import go.kr.project.carInspectionPenalty.registrationOm.model.CarFfnlgTrgtIncmpVO; import go.kr.project.carInspectionPenalty.registrationOm.service.impl.ComparisonOmRemarkBuilder; -import go.kr.project.login.model.LoginUserVO; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -46,7 +44,7 @@ public class TransferOmChecker extends AbstractComparisonOmChecker { } @Override - public String check(CarFfnlgTrgtIncmpVO existingData) { + public String check(CarFfnlgTrgtIncmpVO existingData, String userOrgCd) { String vhclno = existingData.getVhclno(); try { @@ -150,16 +148,14 @@ public class TransferOmChecker extends AbstractComparisonOmChecker { return null; } - // 세션에서 사용자 정보 조회 - LoginUserVO userInfo = SessionUtil.getLoginUser(); - if (userInfo == null || userInfo.getOrgCd() == null) { + // 사용자 조직코드 유효성 검사 + if (userOrgCd == null) { log.info("[이첩-미필] 사용자 정보 없음"); return null; } // 법정동코드 앞 4자리 vs 사용자 조직코드 앞 4자리 비교 String legalDong4 = step1UsgsrhldStdgCd.substring(0, 4); - String userOrgCd = userInfo.getOrgCd(); String userOrg4 = userOrgCd.length() >= 4 ? userOrgCd.substring(0, 4) : userOrgCd; if (legalDong4.equals(userOrg4)) {