설정 초기화 진행 중...
parent
1c43a6487d
commit
59ff10783d
@ -0,0 +1,25 @@
|
||||
package egovframework.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
* RestTemplate 설정 클래스
|
||||
* 외부 API 호출을 위한 RestTemplate Bean 설정
|
||||
*/
|
||||
@Configuration
|
||||
public class RestTemplateConfig {
|
||||
|
||||
@Bean
|
||||
public RestTemplate restTemplate() {
|
||||
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
||||
|
||||
// 타임아웃 설정 (30초)
|
||||
factory.setConnectTimeout(30000);
|
||||
factory.setReadTimeout(30000);
|
||||
|
||||
return new RestTemplate(factory);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,203 @@
|
||||
package go.kr.project.carInspectionPenalty.service;
|
||||
|
||||
import go.kr.project.carInspectionPenalty.vo.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.core.ParameterizedTypeReference;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 차량 API 호출 서비스
|
||||
* VMIS-interface 프로그램의 API를 호출하여 차량 정보를 조회하는 서비스
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class ExternalVehicleApiService {
|
||||
|
||||
private final RestTemplate restTemplate;
|
||||
|
||||
// VMIS-interface API URL
|
||||
private static final String VMIS_API_BASE_URL = "http://localhost:8081/api/v1/vehicles";
|
||||
private static final String BASIC_INFO_URL = VMIS_API_BASE_URL + "/basic";
|
||||
private static final String LEDGER_INFO_URL = VMIS_API_BASE_URL + "/ledger";
|
||||
|
||||
/**
|
||||
* 여러 차량번호에 대한 정보를 일괄 조회
|
||||
*
|
||||
* @param vehicleNumbers 차량번호 리스트
|
||||
* @return 차량 정보 응답 리스트
|
||||
*/
|
||||
public List<VehicleApiResponseVO> getVehiclesInfo(List<String> vehicleNumbers) {
|
||||
log.info("차량 정보 일괄 조회 시작 - 대상 차량 수: {}", vehicleNumbers.size());
|
||||
|
||||
List<VehicleApiResponseVO> responses = new ArrayList<>();
|
||||
|
||||
for (String vehicleNumber : vehicleNumbers) {
|
||||
try {
|
||||
VehicleApiResponseVO response = getVehicleInfo(vehicleNumber);
|
||||
responses.add(response);
|
||||
} catch (Exception e) {
|
||||
log.error("차량번호 {} 조회 중 오류 발생: {}", vehicleNumber, e.getMessage(), e);
|
||||
|
||||
// 오류 발생 시에도 응답 객체 생성하여 추가
|
||||
VehicleApiResponseVO errorResponse = VehicleApiResponseVO.builder()
|
||||
.vhrno(vehicleNumber)
|
||||
.success(false)
|
||||
.message("조회 실패: " + e.getMessage())
|
||||
.build();
|
||||
responses.add(errorResponse);
|
||||
}
|
||||
}
|
||||
|
||||
log.info("차량 정보 일괄 조회 완료 - 성공: {}, 실패: {}",
|
||||
responses.stream().filter(VehicleApiResponseVO::isSuccess).count(),
|
||||
responses.stream().filter(r -> !r.isSuccess()).count());
|
||||
|
||||
return responses;
|
||||
}
|
||||
|
||||
/**
|
||||
* 단일 차량번호에 대한 정보 조회
|
||||
*
|
||||
* @param vehicleNumber 차량번호
|
||||
* @return 차량 정보 응답
|
||||
*/
|
||||
public VehicleApiResponseVO getVehicleInfo(String vehicleNumber) {
|
||||
log.info("차량 정보 조회 시작 - 차량번호: {}", vehicleNumber);
|
||||
|
||||
VehicleApiResponseVO response = new VehicleApiResponseVO();
|
||||
response.setVhrno(vehicleNumber);
|
||||
|
||||
try {
|
||||
// 1. 차량 기본정보 조회
|
||||
VehicleBasicInfoVO basicInfo = getBasicInfo(vehicleNumber);
|
||||
response.setBasicInfo(basicInfo);
|
||||
|
||||
// 2. 자동차 등록원부 조회
|
||||
VehicleLedgerVO ledgerInfo = getLedgerInfo(vehicleNumber);
|
||||
response.setLedgerInfo(ledgerInfo);
|
||||
|
||||
// 3. 결과 검증
|
||||
if (basicInfo != null && "00".equals(basicInfo.getCntcResultCode())) {
|
||||
response.setSuccess(true);
|
||||
response.setMessage("조회 성공");
|
||||
log.info("차량번호 {} 조회 성공", vehicleNumber);
|
||||
} else {
|
||||
response.setSuccess(false);
|
||||
response.setMessage(basicInfo != null ? basicInfo.getCntcResultDtls() : "조회 실패");
|
||||
log.warn("차량번호 {} 조회 실패 - {}", vehicleNumber, response.getMessage());
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
response.setSuccess(false);
|
||||
response.setMessage("API 호출 오류: " + e.getMessage());
|
||||
log.error("차량번호 {} API 호출 중 오류 발생", vehicleNumber, e);
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 차량 기본정보 조회 API 호출
|
||||
* VMIS-interface의 RequestEnricher가 기본 설정값을 자동으로 채워주므로 차량번호만 전송
|
||||
*
|
||||
* @param vehicleNumber 차량번호
|
||||
* @return 차량 기본정보
|
||||
*/
|
||||
private VehicleBasicInfoVO getBasicInfo(String vehicleNumber) {
|
||||
log.debug("차량 기본정보 조회 API 호출 - 차량번호: {}", vehicleNumber);
|
||||
|
||||
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
|
||||
VehicleBasicRequestVO request = VehicleBasicRequestVO.builder()
|
||||
.vhrno(vehicleNumber)
|
||||
.build();
|
||||
|
||||
// Envelope로 감싸기
|
||||
Envelope<VehicleBasicRequestVO> requestEnvelope = new Envelope<>(request);
|
||||
|
||||
// HTTP 헤더 설정
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
|
||||
HttpEntity<Envelope<VehicleBasicRequestVO>> requestEntity = new HttpEntity<>(requestEnvelope, headers);
|
||||
|
||||
try {
|
||||
// API 호출
|
||||
ResponseEntity<Envelope<VehicleBasicInfoVO>> responseEntity = restTemplate.exchange(
|
||||
BASIC_INFO_URL,
|
||||
HttpMethod.POST,
|
||||
requestEntity,
|
||||
new ParameterizedTypeReference<Envelope<VehicleBasicInfoVO>>() {}
|
||||
);
|
||||
|
||||
if (responseEntity.getStatusCode() == HttpStatus.OK && responseEntity.getBody() != null) {
|
||||
List<VehicleBasicInfoVO> data = responseEntity.getBody().getData();
|
||||
if (data != null && !data.isEmpty()) {
|
||||
return data.get(0);
|
||||
}
|
||||
}
|
||||
|
||||
log.warn("차량 기본정보 조회 응답이 비어있음 - 차량번호: {}", vehicleNumber);
|
||||
return null;
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("차량 기본정보 조회 API 호출 실패 - 차량번호: {}", vehicleNumber, e);
|
||||
throw new RuntimeException("차량 기본정보 조회 실패: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 자동차 등록원부(갑) 조회 API 호출
|
||||
* VMIS-interface의 RequestEnricher가 기본 설정값을 자동으로 채워주므로 차량번호만 전송
|
||||
*
|
||||
* @param vehicleNumber 차량번호
|
||||
* @return 등록원부 정보
|
||||
*/
|
||||
private VehicleLedgerVO getLedgerInfo(String vehicleNumber) {
|
||||
log.debug("자동차 등록원부 조회 API 호출 - 차량번호: {}", vehicleNumber);
|
||||
|
||||
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
|
||||
VehicleLedgerRequestVO request = VehicleLedgerRequestVO.builder()
|
||||
.vhrno(vehicleNumber)
|
||||
.build();
|
||||
|
||||
// Envelope로 감싸기
|
||||
Envelope<VehicleLedgerRequestVO> requestEnvelope = new Envelope<>(request);
|
||||
|
||||
// HTTP 헤더 설정
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
|
||||
HttpEntity<Envelope<VehicleLedgerRequestVO>> requestEntity = new HttpEntity<>(requestEnvelope, headers);
|
||||
|
||||
try {
|
||||
// API 호출
|
||||
ResponseEntity<Envelope<VehicleLedgerVO>> responseEntity = restTemplate.exchange(
|
||||
LEDGER_INFO_URL,
|
||||
HttpMethod.POST,
|
||||
requestEntity,
|
||||
new ParameterizedTypeReference<Envelope<VehicleLedgerVO>>() {}
|
||||
);
|
||||
|
||||
if (responseEntity.getStatusCode() == HttpStatus.OK && responseEntity.getBody() != null) {
|
||||
List<VehicleLedgerVO> data = responseEntity.getBody().getData();
|
||||
if (data != null && !data.isEmpty()) {
|
||||
return data.get(0);
|
||||
}
|
||||
}
|
||||
|
||||
log.warn("자동차 등록원부 조회 응답이 비어있음 - 차량번호: {}", vehicleNumber);
|
||||
return null;
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("자동차 등록원부 조회 API 호출 실패 - 차량번호: {}", vehicleNumber, e);
|
||||
throw new RuntimeException("자동차 등록원부 조회 실패: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 공통 래퍼: { "data": [ ... ] }
|
||||
* VMIS-interface API 호출 시 사용하는 공통 Envelope 클래스
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@Getter
|
||||
@Setter
|
||||
public class Envelope<T> {
|
||||
|
||||
@JsonProperty("data")
|
||||
private List<T> data = new ArrayList<>();
|
||||
|
||||
public Envelope() {}
|
||||
|
||||
public Envelope(T single) {
|
||||
if (single != null) this.data.add(single);
|
||||
}
|
||||
|
||||
public Envelope(List<T> data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 차량 API 통합 응답 VO
|
||||
* 차량 기본정보와 등록원부 정보를 함께 담는 VO
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
public class VehicleApiResponseVO {
|
||||
|
||||
private String vhrno; // 차량번호
|
||||
private boolean success; // 성공 여부
|
||||
private String message; // 메시지
|
||||
|
||||
private VehicleBasicInfoVO basicInfo; // 차량 기본정보
|
||||
private VehicleLedgerVO ledgerInfo; // 등록원부 정보
|
||||
|
||||
public VehicleApiResponseVO() {
|
||||
this.success = true;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 차량 기본정보 조회 응답 VO
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Getter
|
||||
@Setter
|
||||
public class VehicleBasicInfoVO {
|
||||
|
||||
@JsonProperty("CNTC_RESULT_CODE")
|
||||
private String cntcResultCode;
|
||||
|
||||
@JsonProperty("CNTC_RESULT_DTLS")
|
||||
private String cntcResultDtls;
|
||||
|
||||
@JsonProperty("record")
|
||||
private List<Record> record;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Record {
|
||||
@JsonProperty("VHRNO") private String vhrno; // 차량번호
|
||||
@JsonProperty("VIN") private String vin; // 차대번호
|
||||
@JsonProperty("CNM") private String cnm; // 차명
|
||||
@JsonProperty("MBER_NM") private String mberNm; // 소유자명
|
||||
@JsonProperty("MBER_SE_NO") private String mberSeNo; // 소유자번호
|
||||
@JsonProperty("TELNO") private String telno; // 전화번호
|
||||
@JsonProperty("PRYE") private String prye; // 연식
|
||||
@JsonProperty("REGIST_DE") private String registDe; // 등록일
|
||||
@JsonProperty("FRST_REGIST_DE") private String frstRegistDe; // 최초등록일
|
||||
@JsonProperty("COLOR_NM") private String colorNm; // 색상명
|
||||
@JsonProperty("DSPLVL") private String dsplvl; // 배기량
|
||||
@JsonProperty("VHCTY_ASORT_NM") private String vhctyAsortNm; // 차종종별명
|
||||
@JsonProperty("VHCTY_TY_NM") private String vhctyTyNm; // 차종유형명
|
||||
@JsonProperty("VHCTY_SE_NM") private String vhctySeNm; // 차종분류명
|
||||
@JsonProperty("INSPT_VALID_PD_BGNDE") private String insptValidPdBgnde; // 검사유효기간시작일
|
||||
@JsonProperty("INSPT_VALID_PD_ENDDE") private String insptValidPdEndde; // 검사유효기간종료일
|
||||
@JsonProperty("USGSRHLD_ADRES_FULL") private String usgsrhldAdresFull; // 사용본거지전체주소
|
||||
@JsonProperty("OWNER_ADRES_FULL") private String ownerAdresFull; // 소유자전체주소
|
||||
|
||||
// 추가 필드들
|
||||
@JsonProperty("ERSR_REGIST_SE_CODE") private String ersrRegistSeCode;
|
||||
@JsonProperty("ERSR_REGIST_SE_NM") private String ersrRegistSeNm;
|
||||
@JsonProperty("ERSR_REGIST_DE") private String ersrRegistDe;
|
||||
@JsonProperty("REGIST_DETAIL_CODE") private String registDetailCode;
|
||||
@JsonProperty("USE_STRNGHLD_LEGALDONG_CODE") private String useStrnghldLegaldongCode;
|
||||
@JsonProperty("USE_STRNGHLD_ADSTRD_CODE") private String useStrnghldAdstrdCode;
|
||||
@JsonProperty("USE_STRNGHLD_MNTN") private String useStrnghldMntn;
|
||||
@JsonProperty("USE_STRNGHLD_LNBR") private String useStrnghldLnbr;
|
||||
@JsonProperty("USE_STRNGHLD_HO") private String useStrnghldHo;
|
||||
@JsonProperty("USE_STRNGHLD_ADRES_NM") private String useStrnghldAdresNm;
|
||||
@JsonProperty("MBER_SE_CODE") private String mberSeCode;
|
||||
@JsonProperty("VHCLE_TOT_WT") private String vhcleTotWt;
|
||||
@JsonProperty("CAAG_ENDDE") private String caagEndde;
|
||||
@JsonProperty("VHCTY_ASORT_CODE") private String vhctyAsortCode;
|
||||
@JsonProperty("VHCTY_TY_CODE") private String vhctyTyCode;
|
||||
@JsonProperty("VHCTY_SE_CODE") private String vhctySeCode;
|
||||
@JsonProperty("MXMM_LDG") private String mxmmLdg;
|
||||
@JsonProperty("FOM_NM") private String fomNm;
|
||||
@JsonProperty("USE_FUEL_CODE") private String useFuelCode;
|
||||
@JsonProperty("PRPOS_SE_CODE") private String prposSeCode;
|
||||
@JsonProperty("MTRS_FOM_NM") private String mtrsFomNm;
|
||||
@JsonProperty("ACQS_AMOUNT") private String acqsAmount;
|
||||
@JsonProperty("TKCAR_PSCAP_CO") private String tkcarPscapCo;
|
||||
@JsonProperty("SPMNNO") private String spmnno;
|
||||
@JsonProperty("TRVL_DSTNC") private String trvlDstnc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 차량 기본정보 조회 요청 VO
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class VehicleBasicRequestVO {
|
||||
|
||||
@JsonProperty("INFO_SYS_ID")
|
||||
private String infoSysId;
|
||||
|
||||
@JsonProperty("INFO_SYS_IP")
|
||||
private String infoSysIp;
|
||||
|
||||
@JsonProperty("SIGUNGU_CODE")
|
||||
private String sigunguCode;
|
||||
|
||||
@JsonProperty("CNTC_INFO_CODE")
|
||||
private String cntcInfoCode;
|
||||
|
||||
@JsonProperty("CHARGER_ID")
|
||||
private String chargerId;
|
||||
|
||||
@JsonProperty("CHARGER_IP")
|
||||
private String chargerIp;
|
||||
|
||||
@JsonProperty("CHARGER_NM")
|
||||
private String chargerNm;
|
||||
|
||||
@JsonProperty("VHRNO")
|
||||
private String vhrno; // 차량번호
|
||||
|
||||
@JsonProperty("ONES_INFORMATION_OPEN")
|
||||
private String onesInformationOpen;
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 자동차 등록원부(갑) 조회 요청 VO
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class VehicleLedgerRequestVO {
|
||||
|
||||
@JsonProperty("INFO_SYS_ID")
|
||||
private String infoSysId;
|
||||
|
||||
@JsonProperty("INFO_SYS_IP")
|
||||
private String infoSysIp;
|
||||
|
||||
@JsonProperty("SIGUNGU_CODE")
|
||||
private String sigunguCode;
|
||||
|
||||
@JsonProperty("CNTC_INFO_CODE")
|
||||
private String cntcInfoCode;
|
||||
|
||||
@JsonProperty("CHARGER_ID")
|
||||
private String chargerId;
|
||||
|
||||
@JsonProperty("CHARGER_IP")
|
||||
private String chargerIp;
|
||||
|
||||
@JsonProperty("CHARGER_NM")
|
||||
private String chargerNm;
|
||||
|
||||
@JsonProperty("VHRNO")
|
||||
private String vhrno; // 차량번호
|
||||
|
||||
@JsonProperty("ONES_INFORMATION_OPEN")
|
||||
private String onesInformationOpen;
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package go.kr.project.carInspectionPenalty.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 자동차 등록원부(갑) 조회 응답 VO
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Getter
|
||||
@Setter
|
||||
public class VehicleLedgerVO {
|
||||
|
||||
@JsonProperty("CNTC_RESULT_CODE")
|
||||
private String cntcResultCode;
|
||||
|
||||
@JsonProperty("CNTC_RESULT_DTLS")
|
||||
private String cntcResultDtls;
|
||||
|
||||
@JsonProperty("VHRNO")
|
||||
private String vhrno; // 차량번호
|
||||
|
||||
@JsonProperty("VIN")
|
||||
private String vin; // 차대번호
|
||||
|
||||
@JsonProperty("CNM")
|
||||
private String cnm; // 차명
|
||||
|
||||
@JsonProperty("COLOR_NM")
|
||||
private String colorNm; // 색상명
|
||||
|
||||
@JsonProperty("PRYE")
|
||||
private String prye; // 연식
|
||||
|
||||
@JsonProperty("FRST_REGIST_DE")
|
||||
private String frstRegistDe; // 최초등록일
|
||||
|
||||
@JsonProperty("MBER_NM")
|
||||
private String mberNm; // 소유자명
|
||||
|
||||
@JsonProperty("MBER_SE_CODE")
|
||||
private String mberSeCode; // 회원구분코드
|
||||
|
||||
@JsonProperty("MBER_SE_NO")
|
||||
private String mberSeNo; // 회원번호
|
||||
|
||||
@JsonProperty("TELNO")
|
||||
private String telno; // 전화번호
|
||||
|
||||
@JsonProperty("INSPT_VALID_PD_BGNDE")
|
||||
private String insptValidPdBgnde; // 검사유효기간시작일
|
||||
|
||||
@JsonProperty("INSPT_VALID_PD_ENDDE")
|
||||
private String insptValidPdEndde; // 검사유효기간종료일
|
||||
|
||||
@JsonProperty("ADRES")
|
||||
private String adres; // 주소
|
||||
|
||||
@JsonProperty("ADRES_NM")
|
||||
private String adresNm; // 상세주소
|
||||
|
||||
@JsonProperty("record")
|
||||
private List<Record> record;
|
||||
|
||||
// 추가 필드들
|
||||
@JsonProperty("LEDGER_GROUP_NO") private String ledgerGroupNo;
|
||||
@JsonProperty("LEDGER_INDVDLZ_NO") private String ledgerIndvdlzNo;
|
||||
@JsonProperty("VHMNO") private String vhmno;
|
||||
@JsonProperty("VHCTY_ASORT_CODE") private String vhctyAsortCode;
|
||||
@JsonProperty("VHCTY_ASORT_NM") private String vhctyAsortNm;
|
||||
@JsonProperty("PRPOS_SE_CODE") private String prposSeCode;
|
||||
@JsonProperty("PRPOS_SE_NM") private String prposSeNm;
|
||||
@JsonProperty("MTRS_FOM_NM") private String mtrsFomNm;
|
||||
@JsonProperty("FOM_NM") private String fomNm;
|
||||
@JsonProperty("ACQS_AMOUNT") private String acqsAmount;
|
||||
@JsonProperty("CAAG_ENDDE") private String caagEndde;
|
||||
@JsonProperty("YBL_MD") private String yblMd;
|
||||
@JsonProperty("TRVL_DSTNC") private String trvlDstnc;
|
||||
@JsonProperty("ERSR_REGIST_DE") private String ersrRegistDe;
|
||||
@JsonProperty("ERSR_REGIST_SE_CODE") private String ersrRegistSeCode;
|
||||
@JsonProperty("ERSR_REGIST_SE_NM") private String ersrRegistSeNm;
|
||||
@JsonProperty("NMPL_CSDY_AT") private String nmplCsdyAt;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Record {
|
||||
@JsonProperty("MAINCHK") private String mainchk;
|
||||
@JsonProperty("CHANGE_JOB_SE_CODE") private String changeJobSeCode;
|
||||
@JsonProperty("MAINNO") private String mainno;
|
||||
@JsonProperty("SUBNO") private String subno;
|
||||
@JsonProperty("DTLS") private String dtls;
|
||||
@JsonProperty("CHANGE_DE") private String changeDe;
|
||||
@JsonProperty("GUBUN_NM") private String gubunNm;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue