|
|
|
|
@ -84,16 +84,23 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
// ========================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 1. 상품용 검증
|
|
|
|
|
* 1. 상품용 검증 (신규 로직)
|
|
|
|
|
*
|
|
|
|
|
* API 호출 3단계:
|
|
|
|
|
* 1) 자동차기본정보(차량번호, 부과일자=검사일) -> 차대번호, 소유자명
|
|
|
|
|
* 2) 자동차기본정보(차대번호, 부과일자=오늘일자) -> 차량번호, 성명, 민원인주민번호, 민원인법정동코드
|
|
|
|
|
* 3) 자동차등록원부(갑)(차량번호, 성명, 민원인주민번호, 민원인법정동코드) -> 갑부 상세 List
|
|
|
|
|
* API 호출 4단계:
|
|
|
|
|
* 1) 자동차기본정보(차량번호, 부과일자=검사일) → 차대번호, 소유자명
|
|
|
|
|
* 2) 자동차기본정보(차대번호, 부과일자=오늘일자) → 차량번호, 성명, 민원인주민번호, 민원인법정동코드
|
|
|
|
|
* 3) 자동차등록원부(갑)(차량번호, 성명, 민원인주민번호, 민원인법정동코드) → 갑부 상세 List
|
|
|
|
|
* 4) 자동차기본정보(차대번호, 부과일자=조건에 맞는 CHG_YMD) → 해당 시점의 소유자명
|
|
|
|
|
*
|
|
|
|
|
* 비교조건:
|
|
|
|
|
* - 소유자명에 "상품용" 포함
|
|
|
|
|
* - 갑부 상세에서 명의이전(코드 11) 이력이 유효기간만료일~검사종료일자 사이에 있는지
|
|
|
|
|
* - 1단계: 소유자명에 "상품용" 포함
|
|
|
|
|
* - 2단계: 갑부 상세에서 다음 조건을 만족하는 명의이전(코드 11) 레코드 찾기
|
|
|
|
|
* • CHG_YMD <= 검사종료일자
|
|
|
|
|
* • 현재 주석처리 CHG_YMD가 검사일 이전일자 중 가장 마지막 일자
|
|
|
|
|
* • CHG_TASK_SE_CD == "11" (명의이전)
|
|
|
|
|
* - 3단계: 4번 API 조회 소유자명 == 1번 API 조회 소유자명
|
|
|
|
|
* - 4단계 현재 주석처리 : CHG_YMD >= 유효기간만료일 && CHG_YMD <= 검사종료일자
|
|
|
|
|
* CHG_YMD가 검사일 이전일자 중 가장 마지막 일자, 4단계 2개의 조건은 주석처리
|
|
|
|
|
*
|
|
|
|
|
* @param existingData 과태료 대상 데이터
|
|
|
|
|
* @return 02 (상품용) 또는 null (미적용)
|
|
|
|
|
@ -101,15 +108,15 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
private String checkProductUse(CarFfnlgTrgtVO existingData) {
|
|
|
|
|
String vhclno = existingData.getVhclno();
|
|
|
|
|
String inspYmd = existingData.getInspYmd();
|
|
|
|
|
String vldPrdExpryYmd = existingData.getVldPrdExpryYmd();
|
|
|
|
|
String inspEndYmd = existingData.getInspEndYmd();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
// Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일)
|
|
|
|
|
// ========== Step 1: 자동차기본정보 조회 (차량번호, 부과일자=검사일) ==========
|
|
|
|
|
log.info("[상품용] Step 1: 자동차기본정보 조회 - 차량번호: {}, 검사일: {}", vhclno, inspYmd);
|
|
|
|
|
|
|
|
|
|
NewBasicRequest step1Request = createBasicRequest(vhclno, null, inspYmd);
|
|
|
|
|
NewBasicResponse step1Response = apiService.getBasicInfo(step1Request);
|
|
|
|
|
|
|
|
|
|
// API 응답에 CAR_FFNLG_TRGT_ID 업데이트
|
|
|
|
|
bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step1Response, existingData.getCarFfnlgTrgtId());
|
|
|
|
|
|
|
|
|
|
if (step1Response == null || step1Response.getRecord() == null || step1Response.getRecord().isEmpty()) {
|
|
|
|
|
@ -119,27 +126,24 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
|
|
|
|
|
NewBasicResponse.Record step1Record = step1Response.getRecord().get(0);
|
|
|
|
|
String vin = step1Record.getVin(); // 차대번호
|
|
|
|
|
String ownerName = step1Record.getRprsOwnrNm(); // 대표소유자성명
|
|
|
|
|
String step1OwnerName = step1Record.getRprsOwnrNm(); // 검사일 기준 소유자명
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] Step 1 결과 - 차대번호: {}, 소유자명: {}", vin, ownerName);
|
|
|
|
|
log.info("[상품용] Step 1 결과 - 차대번호: {}, 소유자명: {}", vin, step1OwnerName);
|
|
|
|
|
|
|
|
|
|
// TODO : tb_car_ffnlg_trgt.OWNR_NM.contains("상품용") table, existingData 로 검사를 해야할지 고민...
|
|
|
|
|
// 조건 1: 소유자명에 "상품용" 포함 여부 확인
|
|
|
|
|
if (ownerName == null || !ownerName.contains("상품용")) {
|
|
|
|
|
log.debug("[상품용] 소유자명에 '상품용' 미포함 - 차량번호: {}, 소유자명: {}", vhclno, ownerName);
|
|
|
|
|
if (step1OwnerName == null || !step1OwnerName.contains("상품용")) {
|
|
|
|
|
log.debug("[상품용] 소유자명에 '상품용' 미포함 - 차량번호: {}, 소유자명: {}", vhclno, step1OwnerName);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 소유자명에 '상품용' 포함 - 차량번호: {}, 소유자명: {}", vhclno, ownerName);
|
|
|
|
|
log.info("[상품용] 소유자명에 '상품용' 포함 확인! - 차량번호: {}, 소유자명: {}", vhclno, step1OwnerName);
|
|
|
|
|
|
|
|
|
|
// Step 2: 자동차기본정보 조회 (차대번호, 부과일자=오늘일자)
|
|
|
|
|
// ========== Step 2: 자동차기본정보 조회 (차대번호, 부과일자=오늘일자) ==========
|
|
|
|
|
String today = LocalDate.now().format(DATE_FORMATTER);
|
|
|
|
|
log.info("[상품용] Step 2: 자동차기본정보 조회 - 차대번호: {}, 오늘일자: {}", vin, today);
|
|
|
|
|
|
|
|
|
|
NewBasicRequest step2Request = createBasicRequest(null, vin, today);
|
|
|
|
|
NewBasicResponse step2Response = apiService.getBasicInfo(step2Request);
|
|
|
|
|
|
|
|
|
|
// API 응답에 CAR_FFNLG_TRGT_ID 업데이트
|
|
|
|
|
bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step2Response, existingData.getCarFfnlgTrgtId());
|
|
|
|
|
|
|
|
|
|
if (step2Response == null || step2Response.getRecord() == null || step2Response.getRecord().isEmpty()) {
|
|
|
|
|
@ -150,20 +154,18 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
NewBasicResponse.Record step2Record = step2Response.getRecord().get(0);
|
|
|
|
|
String currentVhclno = step2Record.getVhrno();
|
|
|
|
|
String currentOwnerName = step2Record.getRprsOwnrNm();
|
|
|
|
|
String currentIdecno = step2Record.getRprsvOwnrIdecno(); // 민원인주민번호
|
|
|
|
|
String currentLegalDongCode = step2Record.getUsgsrhldStdgCd(); // 민원인법정동코드
|
|
|
|
|
String currentIdecno = step2Record.getRprsvOwnrIdecno();
|
|
|
|
|
String currentLegalDongCode = step2Record.getUsgsrhldStdgCd();
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] Step 2 결과 - 차량번호: {}, 성명: {}, 주민번호: {}, 법정동코드: {}",
|
|
|
|
|
currentVhclno, currentOwnerName, currentIdecno, currentLegalDongCode);
|
|
|
|
|
|
|
|
|
|
// Step 3: 자동차등록원부(갑) 조회
|
|
|
|
|
// ========== Step 3: 자동차등록원부(갑) 조회 ==========
|
|
|
|
|
log.info("[상품용] Step 3: 자동차등록원부(갑) 조회 - 차량번호: {}, 성명: {}, 주민번호: {}, 법정동코드: {}",
|
|
|
|
|
currentVhclno, currentOwnerName, currentIdecno, currentLegalDongCode);
|
|
|
|
|
|
|
|
|
|
NewLedgerRequest step3Request = createLedgerRequest(currentVhclno, currentOwnerName, currentIdecno, currentLegalDongCode);
|
|
|
|
|
NewLedgerResponse step3Response = apiService.getLedgerInfo(step3Request);
|
|
|
|
|
|
|
|
|
|
// API 응답에 CAR_FFNLG_TRGT_ID 업데이트
|
|
|
|
|
ledgerLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step3Response, existingData.getCarFfnlgTrgtId());
|
|
|
|
|
|
|
|
|
|
if (step3Response == null) {
|
|
|
|
|
@ -171,60 +173,126 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 조건 2: 갑부 상세에서 명의이전 이력 확인
|
|
|
|
|
List<NewLedgerResponse.Record> ledgerRecords = step3Response.getRecord();
|
|
|
|
|
if (ledgerRecords == null || ledgerRecords.isEmpty()) {
|
|
|
|
|
log.debug("[상품용] 갑부 상세 내역 없음 - 차량번호: {}", vhclno);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 유효기간만료일 ~ 검사종료일자 사이에 명의이전(코드 11) 이력이 있는지 확인
|
|
|
|
|
String vldPrdExpryYmd = existingData.getVldPrdExpryYmd();
|
|
|
|
|
String inspEndYmd = existingData.getInspEndYmd();
|
|
|
|
|
// ========== 갑부 상세에서 조건에 맞는 레코드 찾기 ==========
|
|
|
|
|
log.info("[상품용] 갑부 상세 레코드 검색 시작 - 검사일: {}, 검사종료일자: {}", inspYmd, inspEndYmd);
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 갑부 상세 비교 기간 - 유효기간만료일: {}, 검사종료일자: {}", vldPrdExpryYmd, inspEndYmd);
|
|
|
|
|
NewLedgerResponse.Record targetRecord = null;
|
|
|
|
|
LocalDate latestChgDate = null;
|
|
|
|
|
LocalDate inspDate = DateUtil.parseDate(inspYmd);
|
|
|
|
|
|
|
|
|
|
for (NewLedgerResponse.Record record : ledgerRecords) {
|
|
|
|
|
String chgYmd = record.getChgYmd(); // 변경일자
|
|
|
|
|
String chgTaskSeCd = record.getChgTaskSeCd(); // 변경업무구분코드
|
|
|
|
|
|
|
|
|
|
log.debug("[상품용] 갑부 레코드 - 변경일자: {}, 변경업무구분코드: {}", chgYmd, chgTaskSeCd);
|
|
|
|
|
|
|
|
|
|
// 명의이전 코드 11 확인 및 기간 확인
|
|
|
|
|
if ("11".equals(chgTaskSeCd) && chgYmd != null) {
|
|
|
|
|
if (DateUtil.isDateBetween(chgYmd, vldPrdExpryYmd, inspEndYmd)) {
|
|
|
|
|
log.info("[상품용] 조건 충족! 차량번호: {}, 변경일자: {}, 변경업무: {}", vhclno, chgYmd, chgTaskSeCd);
|
|
|
|
|
|
|
|
|
|
// 비고 생성 - 갑부 상세 정보 포함
|
|
|
|
|
String rmrk = buildProductUseRemark(
|
|
|
|
|
step1Record, step2Record, record,
|
|
|
|
|
vldPrdExpryYmd, inspEndYmd
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// DB 업데이트
|
|
|
|
|
existingData.setCarBassMatterInqireId(step1Response.getGeneratedId());
|
|
|
|
|
existingData.setCarLedgerFrmbkId(step3Response.getGeneratedId());
|
|
|
|
|
existingData.setTaskPrcsSttsCd(TaskPrcsSttsConstants.TASK_PRCS_STTS_CD_02_PRODUCT_USE);
|
|
|
|
|
existingData.setTaskPrcsYmd(LocalDate.now().format(DATE_FORMATTER));
|
|
|
|
|
existingData.setCarRegFrmbkChgTaskSeCd(record.getChgTaskSeCd());
|
|
|
|
|
existingData.setCarRegFrmbkChgTaskSeNm(record.getChgTaskSeNm());
|
|
|
|
|
existingData.setCarRegFrmbkChgYmd(record.getChgYmd());
|
|
|
|
|
existingData.setCarRegFrmbkDtl(buildLedgerRecordDetail(record));
|
|
|
|
|
existingData.setRmrk(rmrk);
|
|
|
|
|
|
|
|
|
|
int updateCount = carFfnlgTrgtMapper.update(existingData);
|
|
|
|
|
if (updateCount == 0) {
|
|
|
|
|
throw new MessageException(String.format("[상품용] 업데이트 실패: %s", vhclno));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 처리 완료! 차량번호: {}", vhclno);
|
|
|
|
|
return TaskPrcsSttsConstants.TASK_PRCS_STTS_CD_02_PRODUCT_USE;
|
|
|
|
|
}
|
|
|
|
|
String chgYmd = record.getChgYmd();
|
|
|
|
|
String chgTaskSeCd = record.getChgTaskSeCd();
|
|
|
|
|
|
|
|
|
|
// 조건: CHG_TASK_SE_CD == "11" (명의이전)
|
|
|
|
|
if (!"11".equals(chgTaskSeCd) || chgYmd == null) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LocalDate chgDate = DateUtil.parseDate(chgYmd);
|
|
|
|
|
if (chgDate == null) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 조건: CHG_YMD <= 검사종료일자
|
|
|
|
|
LocalDate inspEndDate = DateUtil.parseDate(inspEndYmd);
|
|
|
|
|
if (chgDate.isAfter(inspEndDate)) {
|
|
|
|
|
log.debug("[상품용] CHG_YMD > 검사종료일자 - 변경일자: {}, 검사종료일자: {}", chgYmd, inspEndYmd);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 필요없음. 조건: CHG_YMD가 검사일 이전일자 중 가장 마지막 일자, 필요없음.
|
|
|
|
|
/*
|
|
|
|
|
if (chgDate.isAfter(inspDate)) {
|
|
|
|
|
log.debug("[상품용] CHG_YMD > 검사일 - 변경일자: {}, 검사일: {}", chgYmd, inspYmd);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 가장 마지막 일자 찾기
|
|
|
|
|
if (latestChgDate == null || chgDate.isAfter(latestChgDate)) {
|
|
|
|
|
latestChgDate = chgDate;
|
|
|
|
|
targetRecord = record;
|
|
|
|
|
log.debug("[상품용] 조건 충족 레코드 발견 - 변경일자: {}, 변경업무: {}", chgYmd, chgTaskSeCd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.debug("[상품용] 명의이전 이력이 기간 내 없음 - 차량번호: {}", vhclno);
|
|
|
|
|
return null;
|
|
|
|
|
if (targetRecord == null) {
|
|
|
|
|
log.debug("[상품용] 조건에 맞는 명의이전 레코드 없음 - 차량번호: {}", vhclno);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String targetChgYmd = targetRecord.getChgYmd();
|
|
|
|
|
log.info("[상품용] 조건 충족 레코드 선택! 변경일자: {}, 변경업무: {}", targetChgYmd, targetRecord.getChgTaskSeNm());
|
|
|
|
|
|
|
|
|
|
// ========== Step 4: 자동차기본정보 조회 (차대번호, 부과일자=CHG_YMD) ==========
|
|
|
|
|
log.info("[상품용] Step 4: 자동차기본정보 조회 - 차대번호: {}, 부과일자: {}", vin, targetChgYmd);
|
|
|
|
|
|
|
|
|
|
NewBasicRequest step4Request = createBasicRequest(null, vin, targetChgYmd);
|
|
|
|
|
NewBasicResponse step4Response = apiService.getBasicInfo(step4Request);
|
|
|
|
|
bassMatterLogService.updateCarFfnlgTrgtIdByTxIdNewTx(step4Response, existingData.getCarFfnlgTrgtId());
|
|
|
|
|
|
|
|
|
|
if (step4Response == null || step4Response.getRecord() == null || step4Response.getRecord().isEmpty()) {
|
|
|
|
|
log.warn("[상품용] Step 4 응답 없음 - 차대번호: {}, 부과일자: {}", vin, targetChgYmd);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
NewBasicResponse.Record step4Record = step4Response.getRecord().get(0);
|
|
|
|
|
String step4OwnerName = step4Record.getRprsOwnrNm(); // CHG_YMD 시점의 소유자명
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] Step 4 결과 - 소유자명: {}", step4OwnerName);
|
|
|
|
|
|
|
|
|
|
// ========== 소유자명 비교 ==========
|
|
|
|
|
if (step4OwnerName == null || !step4OwnerName.equals(step1OwnerName)) {
|
|
|
|
|
log.debug("[상품용] 소유자명 불일치 - Step1 소유자명: {}, Step4 소유자명: {}", step1OwnerName, step4OwnerName);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 소유자명 일치 확인! - 소유자명: {}", step1OwnerName);
|
|
|
|
|
|
|
|
|
|
// ========== 필요 없음.
|
|
|
|
|
// 어차피 상단에서 TB_CAR_FFNLG_TRGT.검사종료일자 작은것중의 마지막일자를 찾기때문에
|
|
|
|
|
// 최종 조건: CHG_YMD가 유효기간만료일 ~ 검사종료일자 범위 내 ==========
|
|
|
|
|
/*
|
|
|
|
|
if (!DateUtil.isDateBetween(targetChgYmd, vldPrdExpryYmd, inspEndYmd)) {
|
|
|
|
|
log.debug("[상품용] CHG_YMD가 기간 범위 밖 - 변경일자: {}, 유효기간만료일: {}, 검사종료일자: {}",
|
|
|
|
|
targetChgYmd, vldPrdExpryYmd, inspEndYmd);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 모든 조건 충족! 차량번호: {}, 변경일자: {}", vhclno, targetChgYmd);
|
|
|
|
|
|
|
|
|
|
// ========== 비고 생성 ==========
|
|
|
|
|
String rmrk = buildProductUseRemark(
|
|
|
|
|
step1Record, step4Record, targetRecord,
|
|
|
|
|
vldPrdExpryYmd, inspEndYmd
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// ========== DB 업데이트 ==========
|
|
|
|
|
existingData.setCarBassMatterInqireId(step1Response.getGeneratedId());
|
|
|
|
|
existingData.setCarLedgerFrmbkId(step3Response.getGeneratedId());
|
|
|
|
|
existingData.setTaskPrcsSttsCd(TaskPrcsSttsConstants.TASK_PRCS_STTS_CD_02_PRODUCT_USE);
|
|
|
|
|
existingData.setTaskPrcsYmd(LocalDate.now().format(DATE_FORMATTER));
|
|
|
|
|
existingData.setCarRegFrmbkChgTaskSeCd(targetRecord.getChgTaskSeCd());
|
|
|
|
|
existingData.setCarRegFrmbkChgTaskSeNm(targetRecord.getChgTaskSeNm());
|
|
|
|
|
existingData.setCarRegFrmbkChgYmd(targetRecord.getChgYmd());
|
|
|
|
|
existingData.setCarRegFrmbkDtl(buildLedgerRecordDetail(targetRecord));
|
|
|
|
|
existingData.setRmrk(rmrk);
|
|
|
|
|
|
|
|
|
|
int updateCount = carFfnlgTrgtMapper.update(existingData);
|
|
|
|
|
if (updateCount == 0) {
|
|
|
|
|
throw new MessageException(String.format("[상품용] 업데이트 실패: %s", vhclno));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("[상품용] 처리 완료! 차량번호: {}", vhclno);
|
|
|
|
|
return TaskPrcsSttsConstants.TASK_PRCS_STTS_CD_02_PRODUCT_USE;
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("[상품용] 검증 중 오류 발생 - 차량번호: {}", vhclno, e);
|
|
|
|
|
@ -432,38 +500,32 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
/**
|
|
|
|
|
* 상품용 비고 생성
|
|
|
|
|
*
|
|
|
|
|
* @param step1Record Step 1 API 응답 (검사일 기준)
|
|
|
|
|
* @param step2Record Step 2 API 응답 (오늘 기준)
|
|
|
|
|
* @param ledgerRecord 조건에 걸린 갑부 레코드
|
|
|
|
|
* @param step1Record Step 1 API 응답 (검사일 기준 소유자명)
|
|
|
|
|
* @param step4Record Step 4 API 응답 (명의이전 시점 소유자명)
|
|
|
|
|
* @param ledgerRecord 조건에 맞는 갑부 레코드
|
|
|
|
|
* @param vldPrdExpryYmd 유효기간만료일
|
|
|
|
|
* @param inspEndYmd 검사종료일자
|
|
|
|
|
* @return 비고 문자열
|
|
|
|
|
*/
|
|
|
|
|
private String buildProductUseRemark(
|
|
|
|
|
NewBasicResponse.Record step1Record,
|
|
|
|
|
NewBasicResponse.Record step2Record,
|
|
|
|
|
NewBasicResponse.Record step4Record,
|
|
|
|
|
NewLedgerResponse.Record ledgerRecord,
|
|
|
|
|
String vldPrdExpryYmd,
|
|
|
|
|
String inspEndYmd) {
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
sb.append("상품용\n");
|
|
|
|
|
sb.append("상품용 [검사종료일 이전 명의이전]\n");
|
|
|
|
|
|
|
|
|
|
// 1. 검사일 기준 정보
|
|
|
|
|
/*
|
|
|
|
|
sb.append("■ 검사일 기준 차량정보\n");
|
|
|
|
|
sb.append(" - 차대번호: ").append(nvl(step1Record.getVin())).append("\n");
|
|
|
|
|
// 1. 검사일 기준 소유자 정보
|
|
|
|
|
sb.append("\n■ 검사일 기준 소유자정보\n");
|
|
|
|
|
sb.append(" - 소유자명: ").append(nvl(step1Record.getRprsOwnrNm())).append("\n");
|
|
|
|
|
*/
|
|
|
|
|
sb.append(" - 차대번호: ").append(nvl(step1Record.getVin())).append("\n");
|
|
|
|
|
|
|
|
|
|
// 2. 현재(오늘) 기준 정보
|
|
|
|
|
/*
|
|
|
|
|
sb.append("\n■ 현재 차량정보\n");
|
|
|
|
|
sb.append(" - 차량번호: ").append(nvl(step2Record.getVhrno())).append("\n");
|
|
|
|
|
sb.append(" - 소유자명: ").append(nvl(step2Record.getRprsOwnrNm())).append("\n");
|
|
|
|
|
sb.append(" - 주민번호: ").append(maskIdecno(step2Record.getRprsvOwnrIdecno())).append("\n");
|
|
|
|
|
sb.append(" - 법정동코드: ").append(nvl(step2Record.getUsgsrhldStdgCd())).append("\n");
|
|
|
|
|
*/
|
|
|
|
|
// 2. 명의이전 시점 소유자 정보
|
|
|
|
|
sb.append("\n■ 명의이전 시점 소유자정보\n");
|
|
|
|
|
sb.append(" - 소유자명: ").append(nvl(step4Record.getRprsOwnrNm())).append("\n");
|
|
|
|
|
sb.append(" - 조회일자: ").append(DateUtil.formatDateString(ledgerRecord.getChgYmd())).append("\n");
|
|
|
|
|
|
|
|
|
|
// 3. 갑부 상세 정보 (명의이전 이력)
|
|
|
|
|
sb.append("\n■ 갑부 상세 (명의이전 이력)\n");
|
|
|
|
|
@ -471,18 +533,14 @@ public class ComparisonServiceImpl extends EgovAbstractServiceImpl implements Co
|
|
|
|
|
sb.append(" - 변경업무코드: ").append(nvl(ledgerRecord.getChgTaskSeCd())).append("\n");
|
|
|
|
|
sb.append(" - 변경업무명: ").append(nvl(ledgerRecord.getChgTaskSeNm())).append("\n");
|
|
|
|
|
sb.append(" - 접수번호: ").append(nvl(ledgerRecord.getAplyRcptNo())).append("\n");
|
|
|
|
|
/*
|
|
|
|
|
sb.append(" - 주번호: ").append(nvl(ledgerRecord.getMainNo())).append("\n");
|
|
|
|
|
sb.append(" - 부번호: ").append(nvl(ledgerRecord.getSno())).append("\n");
|
|
|
|
|
sb.append(" - 사항란: ").append(nvl(ledgerRecord.getSpcablMttr())).append("\n");
|
|
|
|
|
sb.append(" - 세대주명: ").append(nvl(ledgerRecord.getHshldrNm())).append("\n");
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
// 4. 비교 기간
|
|
|
|
|
sb.append("\n■ 비교 기간\n");
|
|
|
|
|
sb.append(" - 유효기간만료일: ").append(DateUtil.formatDateString(vldPrdExpryYmd)).append("\n");
|
|
|
|
|
sb.append(" - 검사종료일자: ").append(DateUtil.formatDateString(inspEndYmd)).append("\n");
|
|
|
|
|
sb.append(" - 판정: 명의이전일자가 기간 내 존재");
|
|
|
|
|
sb.append(" - 판정: 명의이전일자가 기간 내 존재하고 검사일 소유자명과 일치");
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
return sb.toString();
|
|
|
|
|
}
|
|
|
|
|
|