refactor: VehicleBasicInfoVO, VehicleLedgerVO 제거하고 BasicResponse, LedgerResponse 직접 사용

중복 VO 제거 및 응답 모델 단순화

## 제거된 파일
-  VehicleBasicInfoVO.java
-  VehicleLedgerVO.java
-  VehicleResponseMapper.java (변환 로직 제거)

## 변경된 사용처
- VehicleApiResponseVO: BasicResponse, LedgerResponse 직접 사용
- InternalVehicleInfoServiceImpl: Mapper 제거하고 BasicResponse/LedgerResponse 직접 반환
- ExternalVehicleApiService: 동일하게 BasicResponse/LedgerResponse 사용

## 최종 모델 구조 (9개)
```
api/model/
├── Envelope.java                    # 공통 Envelope
├── VehicleApiResponseVO.java        # 최상위 응답
├── request/                         # 요청 (2개)
│   ├── BasicRequest.java
│   └── LedgerRequest.java
└── response/                        # 응답 (5개)
    ├── BasicResponse.java           클라이언트 응답용
    ├── LedgerResponse.java          클라이언트 응답용
    ├── VmisCarBassMatterInqireVO.java  # DB 저장용
    ├── VmisCarLedgerFrmbkVO.java       # DB 저장용
    └── VmisCarLedgerFrmbkDtlVO.java    # DB 저장용
```

## 효과
- 중복 모델 제거 (3개 파일 삭제)
- 변환 레이어 제거 (VehicleResponseMapper 삭제)
- Internal/External 모두 동일한 응답 모델 사용
- 코드 간소화 및 유지보수성 향상

## 빌드 결과
 BUILD SUCCESSFUL

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
internalApi
박성영 1 month ago
parent 8c16d6cdf6
commit ad07645bb6

@ -78,11 +78,11 @@ public class ExternalVehicleApiService {
try {
// 1. 차량 기본정보 조회
VehicleBasicInfoVO basicInfo = getBasicInfo(vehicleNumber);
BasicResponse basicInfo = getBasicInfo(vehicleNumber);
response.setBasicInfo(basicInfo);
// 2. 자동차 등록원부 조회
VehicleLedgerVO ledgerInfo = getLedgerInfo(vehicleNumber);
LedgerResponse ledgerInfo = getLedgerInfo(vehicleNumber);
response.setLedgerInfo(ledgerInfo);
// 3. 결과 검증
@ -112,7 +112,7 @@ public class ExternalVehicleApiService {
* @param vehicleNumber
* @return
*/
private VehicleBasicInfoVO getBasicInfo(String vehicleNumber) {
private BasicResponse getBasicInfo(String vehicleNumber) {
log.debug("차량 기본정보 조회 API 호출 - 차량번호: {}", vehicleNumber);
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
@ -130,15 +130,15 @@ public class ExternalVehicleApiService {
try {
// API 호출
ResponseEntity<Envelope<VehicleBasicInfoVO>> responseEntity = restTemplate.exchange(
ResponseEntity<Envelope<BasicResponse>> responseEntity = restTemplate.exchange(
BASIC_INFO_URL,
HttpMethod.POST,
requestEntity,
new ParameterizedTypeReference<Envelope<VehicleBasicInfoVO>>() {}
new ParameterizedTypeReference<Envelope<BasicResponse>>() {}
);
if (responseEntity.getStatusCode() == HttpStatus.OK && responseEntity.getBody() != null) {
List<VehicleBasicInfoVO> data = responseEntity.getBody().getData();
List<BasicResponse> data = responseEntity.getBody().getData();
if (data != null && !data.isEmpty()) {
return data.get(0);
}
@ -160,7 +160,7 @@ public class ExternalVehicleApiService {
* @param vehicleNumber
* @return
*/
private VehicleLedgerVO getLedgerInfo(String vehicleNumber) {
private LedgerResponse getLedgerInfo(String vehicleNumber) {
log.debug("자동차 등록원부 조회 API 호출 - 차량번호: {}", vehicleNumber);
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
@ -178,15 +178,15 @@ public class ExternalVehicleApiService {
try {
// API 호출
ResponseEntity<Envelope<VehicleLedgerVO>> responseEntity = restTemplate.exchange(
ResponseEntity<Envelope<LedgerResponse>> responseEntity = restTemplate.exchange(
LEDGER_INFO_URL,
HttpMethod.POST,
requestEntity,
new ParameterizedTypeReference<Envelope<VehicleLedgerVO>>() {}
new ParameterizedTypeReference<Envelope<LedgerResponse>>() {}
);
if (responseEntity.getStatusCode() == HttpStatus.OK && responseEntity.getBody() != null) {
List<VehicleLedgerVO> data = responseEntity.getBody().getData();
List<LedgerResponse> data = responseEntity.getBody().getData();
if (data != null && !data.isEmpty()) {
return data.get(0);
}

@ -2,14 +2,11 @@ package go.kr.project.api.internal.service;
import go.kr.project.api.VehicleInfoService;
import go.kr.project.api.model.VehicleApiResponseVO;
import go.kr.project.api.model.response.VehicleBasicInfoVO;
import go.kr.project.api.model.response.VehicleLedgerVO;
import go.kr.project.api.model.request.BasicRequest;
import go.kr.project.api.model.response.BasicResponse;
import go.kr.project.api.model.Envelope;
import go.kr.project.api.model.request.LedgerRequest;
import go.kr.project.api.model.response.LedgerResponse;
import go.kr.project.api.internal.util.VehicleResponseMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -39,7 +36,7 @@ import java.util.List;
* <li> BasicRequest, LedgerRequest </li>
* <li>VmisCarBassMatterInqireService.basic() ()</li>
* <li>VmisCarLedgerFrmbkService.ledger() ()</li>
* <li> VO (VehicleResponseMapper )</li>
* <li>BasicResponse, LedgerResponse VehicleApiResponseVO </li>
* <li>VehicleApiResponseVO </li>
* </ol>
*
@ -65,11 +62,11 @@ public class InternalVehicleInfoServiceImpl implements VehicleInfoService {
try {
// 1. 차량 기본정보 조회
VehicleBasicInfoVO basicInfo = getBasicInfo(vehicleNumber);
BasicResponse basicInfo = getBasicInfo(vehicleNumber);
response.setBasicInfo(basicInfo);
// 2. 자동차 등록원부 조회
VehicleLedgerVO ledgerInfo = getLedgerInfo(vehicleNumber);
LedgerResponse ledgerInfo = getLedgerInfo(vehicleNumber);
response.setLedgerInfo(ledgerInfo);
// 3. 결과 검증
@ -126,9 +123,9 @@ public class InternalVehicleInfoServiceImpl implements VehicleInfoService {
* ( )
*
* @param vehicleNumber
* @return VO
* @return
*/
private VehicleBasicInfoVO getBasicInfo(String vehicleNumber) {
private BasicResponse getBasicInfo(String vehicleNumber) {
log.debug("[Internal Mode] 차량 기본정보 조회 - 차량번호: {}", vehicleNumber);
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
@ -148,10 +145,7 @@ public class InternalVehicleInfoServiceImpl implements VehicleInfoService {
responseEntity.getBody().getData() != null &&
!responseEntity.getBody().getData().isEmpty()) {
BasicResponse basicResponse = responseEntity.getBody().getData().get(0);
// 내부 모델을 외부 VO로 변환
return VehicleResponseMapper.toVehicleBasicInfoVO(basicResponse);
return responseEntity.getBody().getData().get(0);
}
log.warn("[Internal Mode] 차량 기본정보 조회 응답이 비어있음 - 차량번호: {}", vehicleNumber);
@ -167,9 +161,9 @@ public class InternalVehicleInfoServiceImpl implements VehicleInfoService {
* () ( )
*
* @param vehicleNumber
* @return VO
* @return
*/
private VehicleLedgerVO getLedgerInfo(String vehicleNumber) {
private LedgerResponse getLedgerInfo(String vehicleNumber) {
log.debug("[Internal Mode] 자동차 등록원부 조회 - 차량번호: {}", vehicleNumber);
// 요청 객체 생성 - 차량번호만 설정 (나머지는 RequestEnricher가 자동 설정)
@ -189,10 +183,7 @@ public class InternalVehicleInfoServiceImpl implements VehicleInfoService {
responseEntity.getBody().getData() != null &&
!responseEntity.getBody().getData().isEmpty()) {
LedgerResponse ledgerResponse = responseEntity.getBody().getData().get(0);
// 내부 모델을 외부 VO로 변환
return VehicleResponseMapper.toLedgerVO(ledgerResponse);
return responseEntity.getBody().getData().get(0);
}
log.warn("[Internal Mode] 자동차 등록원부 조회 응답이 비어있음 - 차량번호: {}", vehicleNumber);

@ -1,165 +0,0 @@
package go.kr.project.api.internal.util;
import go.kr.project.api.model.response.VehicleBasicInfoVO;
import go.kr.project.api.model.response.VehicleLedgerVO;
import go.kr.project.api.model.response.BasicResponse;
import go.kr.project.api.model.response.LedgerResponse;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
*
*
* <p> VMIS (BasicResponse, LedgerResponse)
* API VO(VehicleBasicInfoVO, VehicleLedgerVO) .</p>
*/
public class VehicleResponseMapper {
/**
* BasicResponse VehicleBasicInfoVO
*
* @param basicResponse
* @return API VO
*/
public static VehicleBasicInfoVO toVehicleBasicInfoVO(BasicResponse basicResponse) {
if (basicResponse == null) {
return null;
}
VehicleBasicInfoVO vo = new VehicleBasicInfoVO();
vo.setCntcResultCode(basicResponse.getCntcResultCode());
vo.setCntcResultDtls(basicResponse.getCntcResultDtls());
// record 변환
if (basicResponse.getRecord() != null && !basicResponse.getRecord().isEmpty()) {
List<VehicleBasicInfoVO.Record> records = new ArrayList<VehicleBasicInfoVO.Record>();
for (BasicResponse.Record src : basicResponse.getRecord()) {
VehicleBasicInfoVO.Record dest = new VehicleBasicInfoVO.Record();
// 주요 필드 매핑
dest.setVhrno(src.getVhrno());
dest.setVin(src.getVin());
dest.setCnm(src.getCnm());
dest.setMberNm(src.getMberNm());
dest.setMberSeNo(src.getMberSeNo());
dest.setMberSeCode(src.getMberSeCode());
dest.setTelno(src.getTelno());
dest.setPrye(src.getPrye());
dest.setRegistDe(src.getRegistDe());
dest.setFrstRegistDe(src.getFrstRegistDe());
dest.setColorNm(src.getColorNm());
dest.setDsplvl(src.getDsplvl());
dest.setVhctyAsortNm(src.getVhctyAsortNm());
dest.setVhctyTyNm(src.getVhctyTyNm());
dest.setVhctySeNm(src.getVhctySeNm());
dest.setInsptValidPdBgnde(src.getInsptValidPdBgnde());
dest.setInsptValidPdEndde(src.getInsptValidPdEndde());
dest.setUsgsrhldAdresFull(src.getUsgsrhldAdresFull());
dest.setOwnerAdresFull(src.getOwnerAdresFull());
// 추가 필드
dest.setErsrRegistSeCode(src.getErsrRegistSeCode());
dest.setErsrRegistSeNm(src.getErsrRegistSeNm());
dest.setErsrRegistDe(src.getErsrRegistDe());
dest.setRegistDetailCode(src.getRegistDetailCode());
dest.setUseStrnghldLegaldongCode(src.getUseStrnghldLegaldongCode());
dest.setUseStrnghldAdstrdCode(src.getUseStrnghldAdstrdCode());
dest.setUseStrnghldMntn(src.getUseStrnghldMntn());
dest.setUseStrnghldLnbr(src.getUseStrnghldLnbr());
dest.setUseStrnghldHo(src.getUseStrnghldHo());
dest.setUseStrnghldAdresNm(src.getUseStrnghldAdresNm());
dest.setVhcleTotWt(src.getVhcleTotWt());
dest.setCaagEndde(src.getCaagEndde());
dest.setVhctyAsortCode(src.getVhctyAsortCode());
dest.setVhctyTyCode(src.getVhctyTyCode());
dest.setVhctySeCode(src.getVhctySeCode());
dest.setMxmmLdg(src.getMxmmLdg());
dest.setFomNm(src.getFomNm());
dest.setUseFuelCode(src.getUseFuelCode());
dest.setPrposSeCode(src.getPrposSeCode());
dest.setMtrsFomNm(src.getMtrsFomNm());
dest.setAcqsAmount(src.getAcqsAmount());
dest.setTkcarPscapCo(src.getTkcarPscapCo());
dest.setSpmnno(src.getSpmnno());
dest.setTrvlDstnc(src.getTrvlDstnc());
records.add(dest);
}
vo.setRecord(records);
}
return vo;
}
/**
* LedgerResponse VehicleLedgerVO
*
* @param ledgerResponse
* @return API VO
*/
public static VehicleLedgerVO toLedgerVO(LedgerResponse ledgerResponse) {
if (ledgerResponse == null) {
return null;
}
VehicleLedgerVO vo = new VehicleLedgerVO();
// 연계 결과
vo.setCntcResultCode(ledgerResponse.getCntcResultCode());
vo.setCntcResultDtls(ledgerResponse.getCntcResultDtls());
// 마스터 정보 (VehicleLedgerVO에 실제 존재하는 필드만 설정)
vo.setLedgerGroupNo(ledgerResponse.getLedgerGroupNo());
vo.setLedgerIndvdlzNo(ledgerResponse.getLedgerIndvdlzNo());
vo.setVhmno(ledgerResponse.getVhmno());
vo.setVhrno(ledgerResponse.getVhrno());
vo.setVin(ledgerResponse.getVin());
vo.setVhctyAsortCode(ledgerResponse.getVhctyAsortCode());
vo.setVhctyAsortNm(ledgerResponse.getVhctyAsortNm());
vo.setCnm(ledgerResponse.getCnm());
vo.setColorNm(ledgerResponse.getColorNm());
vo.setPrposSeCode(ledgerResponse.getPrposSeCode());
vo.setPrposSeNm(ledgerResponse.getPrposSeNm());
vo.setMtrsFomNm(ledgerResponse.getMtrsFomNm());
vo.setFomNm(ledgerResponse.getFomNm());
vo.setAcqsAmount(ledgerResponse.getAcqsAmount());
vo.setFrstRegistDe(ledgerResponse.getFrstRegistDe());
vo.setCaagEndde(ledgerResponse.getCaagEndde());
vo.setPrye(ledgerResponse.getPrye());
vo.setYblMd(ledgerResponse.getYblMd());
vo.setTrvlDstnc(ledgerResponse.getTrvlDstnc());
vo.setInsptValidPdBgnde(ledgerResponse.getInsptValidPdBgnde());
vo.setInsptValidPdEndde(ledgerResponse.getInsptValidPdEndde());
vo.setNmplCsdyAt(ledgerResponse.getNmplCsdyAt());
vo.setErsrRegistDe(ledgerResponse.getErsrRegistDe());
vo.setErsrRegistSeCode(ledgerResponse.getErsrRegistSeCode());
vo.setErsrRegistSeNm(ledgerResponse.getErsrRegistSeNm());
vo.setAdres(ledgerResponse.getAdres());
vo.setAdresNm(ledgerResponse.getAdresNm());
vo.setTelno(ledgerResponse.getTelno());
vo.setMberNm(ledgerResponse.getMberNm());
vo.setMberSeCode(ledgerResponse.getMberSeCode());
vo.setMberSeNo(ledgerResponse.getMberSeNo());
// record 변경내역 변환
if (ledgerResponse.getRecord() != null && !ledgerResponse.getRecord().isEmpty()) {
List<VehicleLedgerVO.Record> records = new ArrayList<VehicleLedgerVO.Record>();
for (LedgerResponse.Record src : ledgerResponse.getRecord()) {
VehicleLedgerVO.Record dest = new VehicleLedgerVO.Record();
dest.setMainchk(src.getMainchk());
dest.setChangeJobSeCode(src.getChangeJobSeCode());
dest.setMainno(src.getMainno());
dest.setSubno(src.getSubno());
dest.setDtls(src.getDtls());
dest.setChangeDe(src.getChangeDe());
dest.setGubunNm(src.getGubunNm());
records.add(dest);
}
vo.setRecord(records);
}
return vo;
}
}

@ -1,7 +1,7 @@
package go.kr.project.api.model;
import go.kr.project.api.model.response.VehicleBasicInfoVO;
import go.kr.project.api.model.response.VehicleLedgerVO;
import go.kr.project.api.model.response.BasicResponse;
import go.kr.project.api.model.response.LedgerResponse;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
@ -21,8 +21,8 @@ public class VehicleApiResponseVO {
private boolean success; // 성공 여부
private String message; // 메시지
private VehicleBasicInfoVO basicInfo; // 차량 기본정보
private VehicleLedgerVO ledgerInfo; // 등록원부 정보
private BasicResponse basicInfo; // 차량 기본정보
private LedgerResponse ledgerInfo; // 등록원부 정보
public VehicleApiResponseVO() {
this.success = true;

@ -1,80 +0,0 @@
package go.kr.project.api.model.response;
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;
}
}

@ -1,103 +0,0 @@
package go.kr.project.api.model.response;
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;
}
}

@ -11,7 +11,7 @@ import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
*
* , DB
*
* <p>API .
* INSERT, UPDATE .</p>

@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* () VO
* () VO, DB
*
* <p>tb_car_ledger_frmbk_dtl </p>
*/

@ -7,7 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* () VO
* () VO, DB
*
* <p>tb_car_ledger_frmbk </p>
*/

Loading…
Cancel
Save