|
|
|
|
|
* 순서 중요!!
|
|
|
* 조건에 걸리는 순간 다음 차량번호 비교 진행
|
|
|
* 현재는 하나의 api 를 호출해서 비교로직 진행 ->
|
|
|
수정후에는 기본적으로 TB_CAR_FFNLG_TRGT.검사일 기준 api 기본정보+갑부정보 호출
|
|
|
그 이후 비교 로직당 필요한 api 추가 [차량기본정보 or 갑부정보 or 기본정보+갑부정보 각각 호출]하는 형태로 변경
|
|
|
예)이첩-2 번은 추가로 (TB_CAR_FFNLG_TRGT.검사종료일자 + 115일) 기준 차량기본정보 api 추가 호출
|
|
|
|
|
|
|
|
|
|
|
|
-- 상품용 [차량기본정보 필요]
|
|
|
1. TB_CAR_FFNLG_TRGT.검사일 기준 api 호출
|
|
|
2. api.MBER_NM like ‘%상품용%’
|
|
|
3. (갑부 상세(LedgerRecord) List.CHG_YMD between TB_CAR_FFNLG_TRGT.유효기간만료일 and TB_CAR_FFNLG_TRGT.검사종료일자) and (갑부 상세 List.CHANGE_JOB_SE_CODE = '11' --명의이전 코드)
|
|
|
4. TB_CAR_FFNLG_TRGT 비고 : 조건에 걸린 - "[상품용] 갑부정보"
|
|
|
|
|
|
|
|
|
-- 이첩-1 [차량등록원부(갑) 필요]
|
|
|
1. TB_CAR_FFNLG_TRGT.검사일 기준 api 호출
|
|
|
2. 아래 로직 참조
|
|
|
/**
|
|
|
* 이첩 조건1: 법정동코드 불일치
|
|
|
* 사용본거지법정동코드 앞 4자리 != 사용자 조직코드 앞 4자리
|
|
|
*/
|
|
|
private boolean checkTransferCondition1_LegalDongMismatch(BasicResponse.Record basicInfo, String userId, String vhclno) {
|
|
|
String useStrnghldLegaldongCode = basicInfo.getUseStrnghldLegaldongCode();
|
|
|
|
|
|
// 법정동코드 유효성 검사
|
|
|
if (useStrnghldLegaldongCode == null || useStrnghldLegaldongCode.length() < 4) {
|
|
|
log.debug("[이첩][조건1] 법정동코드 없음. 차량번호: {}", vhclno);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
// 사용자 정보 조회
|
|
|
SystemUserVO userInfo = userMapper.selectUser(userId);
|
|
|
if (userInfo == null || userInfo.getOrgCd() == null) {
|
|
|
log.debug("[이첩][조건1] 사용자 정보 없음. 사용자ID: {}", userId);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
// 법정동코드 앞 4자리 vs 사용자 조직코드 앞 4자리 비교
|
|
|
String legalDong4 = useStrnghldLegaldongCode.substring(0, 4);
|
|
|
String userOrgCd = userInfo.getOrgCd();
|
|
|
String userOrg4 = userOrgCd.length() >= 4 ? userOrgCd.substring(0, 4) : userOrgCd;
|
|
|
|
|
|
if (legalDong4.equals(userOrg4)) {
|
|
|
log.debug("[이첩][조건1] 법정동코드 일치. 차량번호: {}, 법정동: {}, 조직: {}",
|
|
|
vhclno, legalDong4, userOrg4);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
log.info("[이첩][조건1] 법정동코드 불일치! 차량번호: {}, 법정동: {}, 조직: {}",
|
|
|
vhclno, legalDong4, userOrg4);
|
|
|
return true;
|
|
|
}
|
|
|
3. table 비고 : 조건에 걸린 - "서울시 용산구/ 이경호, 검사일사용본거지, [검사대상, 사용자 조직코드 앞 4자리 및 법정동명]"
|
|
|
|
|
|
|
|
|
-- 이첩-2 [차량기본정보 필요]
|
|
|
1. TB_CAR_FFNLG_TRGT.DAYCNT(textFile 일수) > 115
|
|
|
2. 검사일 기준 api 호출
|
|
|
3. (TB_CAR_FFNLG_TRGT.검사종료일자 + 115일) 기준 api 호출
|
|
|
4. 2 api<->3 api 자동차기본정보 : 사용본거지법정동코드 앞 4자리 다를경우
|
|
|
5. TB_CAR_FFNLG_TRGT 비고 : 조건에 걸린 - "전라남도 순천시 / 김정대, 115일 도래지, [2개의 api 법정동코드 및 법정동명]"
|
|
|
|