From 17204342cba4786445343ef2db2b3f0cdd18b648 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Mon, 8 Dec 2025 18:05:17 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat=20:=20cpMainhist=20=EC=97=94=ED=8B=B0?= =?UTF-8?q?=ED=8B=B0=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/project/domain/entity/CpMainhist.java | 54 ++++++++++++++++++ .../project/domain/entity_new/CpMainhist.java | 55 +++++++++++++++++++ .../domain/repo/cp/CpOwnerRepository.java | 7 +++ .../domain/repo_new/cp/CpOwnerRepository.java | 7 +++ 4 files changed, 123 insertions(+) create mode 100644 src/schemas/go/kr/project/domain/entity/CpMainhist.java create mode 100644 src/schemas/go/kr/project/domain/entity_new/CpMainhist.java create mode 100644 src/schemas/go/kr/project/domain/repo/cp/CpOwnerRepository.java create mode 100644 src/schemas/go/kr/project/domain/repo_new/cp/CpOwnerRepository.java diff --git a/src/schemas/go/kr/project/domain/entity/CpMainhist.java b/src/schemas/go/kr/project/domain/entity/CpMainhist.java new file mode 100644 index 0000000..004c22e --- /dev/null +++ b/src/schemas/go/kr/project/domain/entity/CpMainhist.java @@ -0,0 +1,54 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "cp_mainhist") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpMainhist { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "MH_CODE", columnDefinition = "bigint unsigned") + private Long mhCode; + + // CP_MAIN.MM_CODE + @Column(name = "MH_MMCODE", length = 16) + private String mhMmcode; + + // 이전 상태 + @Column(name = "MH_STATE_OLD", length = 2) + private String mhStateOld; + + // 변경 후 상태 + @Column(name = "MH_STATE_NEW", length = 2) + private String mhStateNew; + + // 이전 상태 일시 (YYYYMMDDHH24MISS) + @Column(name = "MH_STATE_OLD_DT", length = 14) + private String mhStateOldDt; + + // 사용 여부 + @Column(name = "MH_ENABLE", length = 1) + private String mhEnable; + + // 비고 + @Column(name = "MH_ETC", length = 50) + private String mhEtc; + + // 등록일시 (YYYYMMDDHH24MISS) + @Column(name = "MH_INDT", length = 14) + private String mhIndt; + + // 등록자 + @Column(name = "MH_INUSER") + private Integer mhInuser; +} diff --git a/src/schemas/go/kr/project/domain/entity_new/CpMainhist.java b/src/schemas/go/kr/project/domain/entity_new/CpMainhist.java new file mode 100644 index 0000000..7974c4c --- /dev/null +++ b/src/schemas/go/kr/project/domain/entity_new/CpMainhist.java @@ -0,0 +1,55 @@ +package go.kr.project.domain.entity; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "cp_mainhist") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpMainhist { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "CRDN_LOG_ID", columnDefinition = "bigint unsigned") + private Long mhCode; + + // CP_MAIN.MM_CODE + @Column(name = "CRDN_ID", length = 16) + private String mhMmcode; + + // 이전 상태 + @Column(name = "BFR_PRCS_STTS", length = 2) + private String mhStateOld; + + // 변경 후 상태 + @Column(name = "CHG_PRCS_STTS", length = 2) + private String mhStateNew; + + // 이전 상태 일시 (YYYYMMDDHH24MISS) + @Column(name = "BFR_REG_DT", length = 14) + private String mhStateOldDt; + + // 사용 여부 + @Column(name = "USE_YN", length = 1) + private String mhEnable; + + // 비고 + @Column(name = "EXCPTNMTTR", length = 50) + private String mhEtc; + + // 등록일시 (YYYYMMDDHH24MISS) + @Column(name = "REG_DT", length = 14) + private String mhIndt; + + // 등록자 + @Column(name = "PIC_CD") + private Integer mhInuser; +} diff --git a/src/schemas/go/kr/project/domain/repo/cp/CpOwnerRepository.java b/src/schemas/go/kr/project/domain/repo/cp/CpOwnerRepository.java new file mode 100644 index 0000000..a76f867 --- /dev/null +++ b/src/schemas/go/kr/project/domain/repo/cp/CpOwnerRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpOwner; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpOwnerRepository extends JpaRepository { +} diff --git a/src/schemas/go/kr/project/domain/repo_new/cp/CpOwnerRepository.java b/src/schemas/go/kr/project/domain/repo_new/cp/CpOwnerRepository.java new file mode 100644 index 0000000..a76f867 --- /dev/null +++ b/src/schemas/go/kr/project/domain/repo_new/cp/CpOwnerRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpOwner; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpOwnerRepository extends JpaRepository { +} From f5bc8aacb8db45867908f31d57a60b2bc57bd839 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Mon, 8 Dec 2025 18:05:43 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat=20:=20=EC=B0=A8=EC=A0=81=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=ED=94=84=EB=A1=9C=EC=84=B8=EC=8A=A4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/CommonContorller.java | 20 +- .../biz/common/dto/WebClientCallDto.java | 342 +++++++++--------- .../repository/CommonQueryDslRepository.java | 37 ++ .../biz/common/service/CommonService.java | 2 + .../service/impl/CommonServiceImpl.java | 51 ++- .../common/service/impl/WebClientCall.java | 11 +- .../views/biz/minwon/init/init_popup.jsp | 91 +++-- src/main/webapp/resources/css/cc-popup.css | 24 ++ 8 files changed, 364 insertions(+), 214 deletions(-) diff --git a/src/main/java/go/kr/project/biz/common/controller/CommonContorller.java b/src/main/java/go/kr/project/biz/common/controller/CommonContorller.java index b7db7f3..ee20725 100644 --- a/src/main/java/go/kr/project/biz/common/controller/CommonContorller.java +++ b/src/main/java/go/kr/project/biz/common/controller/CommonContorller.java @@ -1,14 +1,12 @@ package go.kr.project.biz.common.controller; import go.kr.project.biz.common.dto.CommonDto; +import go.kr.project.biz.common.dto.WebClientCallDto; import go.kr.project.biz.common.service.CommonService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -40,6 +38,20 @@ public class CommonContorller { return ResponseEntity.ok(commonService.findCarInfo(mmCarno, mmDate)); } + /** + * 차적조회 후 저장 + */ + @PutMapping("/common/car/info/{mmCode}/update.ajax") + public ResponseEntity updateCarInfo(@PathVariable String mmCode, @RequestBody WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody) { + + commonService.updateCarInfoFromCpMain(mmCode, carInfoIfBody); + + return ResponseEntity.ok("Success"); + } + + + + /** * 표지조회 */ diff --git a/src/main/java/go/kr/project/biz/common/dto/WebClientCallDto.java b/src/main/java/go/kr/project/biz/common/dto/WebClientCallDto.java index d880559..d0b2d53 100644 --- a/src/main/java/go/kr/project/biz/common/dto/WebClientCallDto.java +++ b/src/main/java/go/kr/project/biz/common/dto/WebClientCallDto.java @@ -99,259 +99,261 @@ public class WebClientCallDto { public static class CarInfoIfBody { @JsonProperty("VHRNO") - private String vhrno; + private String vhrno; // 차량번호 - @JsonProperty("ATMB_NM") - private String atmbNm; + // ===== 상단 (연식 / 등록정보 / 사용본거지) ===== + @JsonProperty("PRYE") + private String prye; // 연식 - @JsonProperty("RPRS_OWNR_NM") - private String rprsOwnrNm; + @JsonProperty("REGIST_DE") + private String registDe; // 등록일(변경일) - @JsonProperty("RPRSV_OWNR_IDECNO") - private String rprsvOwnrIdecno; + @JsonProperty("ERSR_REGIST_SE_CODE") + private String ersrRegistSeCode; // 말소등록구분코드 - @JsonProperty("ERSR_REG_YMD") - private String ersrRegYmd; + @JsonProperty("ERSR_REGIST_SE_NM") + private String ersrRegistSeNm; // 말소등록구분명 - @JsonProperty("PRCS_IMPRTY_RSN_CD") - private String prcsImprtyRsnCd; + @JsonProperty("ERSR_REGIST_DE") + private String ersrRegistDe; // 말소등록일 - @JsonProperty("PRCS_IMPRTY_RSN_DTLS") - private String prcsImprtyRsnDtls; + @JsonProperty("REGIST_DETAIL_CODE") + private String registDetailCode; // 등록상세코드 - @JsonProperty("YRIDNW") - private String yridnw; + @JsonProperty("DSPLVL") + private String dsplvl; // 배기량 - @JsonProperty("VIN") - private String vin; + @JsonProperty("USE_STRNGHLD_LEGALDONG_CODE") + private String useStrnghldLegaldongCode; // 사용본거지법정동코드 - @JsonProperty("CNM") - private String cnm; + @JsonProperty("USE_STRNGHLD_ADSTRD_CODE") + private String useStrnghldAdstrdCode; // 사용본거지행정동코드 - @JsonProperty("CARMDL_ASORT_NM") - private String carmdlAsortNm; + @JsonProperty("USE_STRNGHLD_MNTN") + private String useStrnghldMntn; // 사용본거지산 - @JsonProperty("FRST_REG_YMD") - private String frstRegYmd; + @JsonProperty("USE_STRNGHLD_LNBR") + private String useStrnghldLnbr; // 사용본거지번지 - @JsonProperty("COLOR_NM") - private String colorNm; + @JsonProperty("USE_STRNGHLD_HO") + private String useStrnghldHo; // 사용본거지호 - @JsonProperty("STRCT_CHG_CNT") - private String strctChgCnt; + @JsonProperty("USE_STRNGHLD_ADRES_NM") + private String useStrnghldAdresNm; // 사용본거지상세주소 - @JsonProperty("NOPLT_CSDY_YN") - private String nopltCsdyYn; + @JsonProperty("USE_STRNGHLD_ROAD_NM_CODE") + private String useStrnghldRoadNmCode; // 사용본거지도로명코드 - @JsonProperty("NOPLT_CSDY_AVTSMT_YMD") - private String nopltCsdyAvtsmtYmd; + @JsonProperty("USGSRHLD_UNDGRND_BULD_SE_CODE") + private String usgsrhldUndgrndBuldSeCode; // 사용본거지지하건물구분코드 - @JsonProperty("INSP_VLD_PD_BGNG_YMD") - private String inspVldPdBgngYmd; + @JsonProperty("USE_STRNGHLD_BULD_MAIN_NO") + private String useStrnghldBuldMainNo; // 사용본거지건물주요번호 - @JsonProperty("INSP_VLD_PD_END_YMD") - private String inspVldPdEndYmd; + @JsonProperty("USE_STRNGHLD_BULD_SUB_NO") + private String useStrnghldBuldSubNo; // 사용본거지건물부번호 - @JsonProperty("SPMNNO") - private String spmnno; + @JsonProperty("USGSRHLD_ADRES_FULL") + private String usgsrhldAdresFull; // 사용본거지전체주소 - @JsonProperty("DRVNG_DSTNC") - private String drvngDstnc; + // ===== 대표소유자/소유자 정보 ===== + @JsonProperty("MBER_SE_CODE") + private String mberSeCode; // 대표소유자회원구분코드 - @JsonProperty("FOM_NM") - private String fomNm; + @JsonProperty("MBER_NM") + private String mberNm; // 대표소유자성명 - @JsonProperty("DSPLVL") - private String dsplvl; + @JsonProperty("MBER_SE_NO") + private String mberSeNo; // 대표소유자회원번호 - @JsonProperty("CARMDL_CLSF_NM") - private String carmdlClsfNm; + @JsonProperty("TELNO") + private String telno; // 대표소유자전화번호 - @JsonProperty("FBCTN_YMD") - private String fbctnYmd; + @JsonProperty("OWNER_LEGALDONG_CODE") + private String ownerLegaldongCode; // 소유자법정동코드 - @JsonProperty("USGSRHLD_ADDR_NM") - private String usgsrhldAddrNm; + @JsonProperty("OWNER_ADSTRD_CODE") + private String ownerAdstrdCode; // 소유자행정동코드 - @JsonProperty("MTRS_FOM_NM") - private String mtrsFomNm; + @JsonProperty("OWNER_MNTN") + private String ownerMntn; // 소유자산 - @JsonProperty("RDCPCT_CNT") - private String rdcpctCnt; + @JsonProperty("OWNER_LNBR") + private String ownerLnbr; // 소유자번지 - @JsonProperty("FRST_REG_APLY_RCPT_NO") - private String frstRegAplyRcptNo; + @JsonProperty("OWNER_HO") + private String ownerHo; // 소유자호 - @JsonProperty("OGNZ_NM") - private String ognzNm; + @JsonProperty("OWNER_ADRES_NM") + private String ownerAdresNm; // 소유자상세주소 - @JsonProperty("ERSR_REG_SE_NM") - private String ersrRegSeNm; + @JsonProperty("OWNER_ROAD_NM_CODE") + private String ownerRoadNmCode; // 소유자도로명코드 - @JsonProperty("BFR_VHRNO") - private String bfrVhrno; + @JsonProperty("OWNER_UNDGRND_BULD_SE_CODE") + private String ownerUndgrndBuldSeCode; // 소유자지하건물구분코드 - @JsonProperty("USE_FUEL_CD") - private String useFuelCd; + @JsonProperty("OWNER_BULD_MAIN_NO") + private String ownerBuldMainNo; // 소유자건물주요번호 - @JsonProperty("RPRS_OWNR_MBR_SE_CD") - private String rprsOwnrMbrSeCd; + @JsonProperty("OWNER_BULD_SUB_NO") + private String ownerBuldSubNo; // 소유자건물부번호 - @JsonProperty("RPRS_OWNR_TELNO") - private String rprsOwnrTelno; + @JsonProperty("OWNER_ADRES_FULL") + private String ownerAdresFull; // 소유자전체주소 - @JsonProperty("OWNR_STDG_CD") - private String ownrStdgCd; + // ===== 차량번호/차량 기본 ===== + @JsonProperty("AFTR_VHRNO") + private String aftrVhrno; // 신차량번호 - @JsonProperty("OWNR_WHOL_ADDR") - private String ownrWholAddr; + @JsonProperty("FRNT_VHRNO") + private String frntVhrno; // 이전차량번호 - @JsonProperty("VHCL_TOTL_WT") - private String vhclTotlWt; + @JsonProperty("VIN") + private String vin; // 차대번호 - @JsonProperty("MXMM_LDG") - private String mxmmLdg; + @JsonProperty("CNM") + private String cnm; // 차명 - @JsonProperty("CBD_LT") - private String cbdLt; + @JsonProperty("VHCTLE_TOT_WT") + private String vhctleTotWt; // 차량총중량 - @JsonProperty("CBD_BT") - private String cbdBt; + @JsonProperty("CAAG_ENDDE") + private String caagEndde; // 차량만료일자 - @JsonProperty("CBD_HG") - private String cbdHg; - - @JsonProperty("CARMDL_ASORT_CD") - private String carmdlAsortCd; + @JsonProperty("CHANGE_DE") + private String changeDe; // 차변변경시기 - @JsonProperty("CARMDL_TYPE_CD") - private String carmdlTypeCd; + @JsonProperty("USE_FUEL_CODE") + private String useFuelCode; // 사용연료코드 - @JsonProperty("FUEL_CNSMPRT") - private String fuelCnsmprt; + @JsonProperty("PRPOS_SE_CODE") + private String prposSeCode; // 용도구분코드 - @JsonProperty("ERSR_REG_SE_CD") - private String ersrRegSeCd; + @JsonProperty("MTRS_FOM_NM") + private String mtrsFomNm; // 원동기형식명 - @JsonProperty("REG_DTL_CD") - private String regDtlCd; + // ===== 차종/제원 ===== + @JsonProperty("VHCTY_ASORT_CODE") + private String vhctyAsortCode; // 차종종별코드 - @JsonProperty("USGSRHLD_STDG_CD") - private String usgsrhldStdgCd; + @JsonProperty("VHCTY_TY_CODE") + private String vhctyTyCode; // 차종유형코드 - @JsonProperty("USGSRHLD_DONG_CD") - private String usgsrhldDongCd; + @JsonProperty("VHCTY_SE_CODE") + private String vhctySeCode; // 차종분류코드 - @JsonProperty("USGSRHLD_MTN_YN") - private String usgsrhldMtnYn; + @JsonProperty("MXMM_LDG") + private String mxmmLdg; // 최대적재량 - @JsonProperty("USGSRHLD_LNBR") - private String usgsrhldLnbr; + @JsonProperty("VHCTY_ASORT_NM") + private String vhctyAsortNm; // 차종종별명 - @JsonProperty("USGSRHLD_HO") - private String usgsrhldHo; + @JsonProperty("VHCTY_TY_NM") + private String vhctyTyNm; // 차종유형명 - @JsonProperty("USGSRHLD_ROAD_NM_CD") - private String usgsrhldRoadNmCd; + @JsonProperty("VHCTY_SE_NM") + private String vhctySeNm; // 차종분류명 - @JsonProperty("USGSRHLD_UDGD_BLDG_SE_CD") - private String usgsrhldUdgdBldgSeCd; + @JsonProperty("FRST_REGIST_DE") + private String frstRegistDe; // 최초등록일 - @JsonProperty("USGSRHLD_BMNO") - private String usgsrhldBmno; + @JsonProperty("FOM_NM") + private String fomNm; // 형식 - @JsonProperty("USGSRHLD_BSNO") - private String usgsrhldBsno; + @JsonProperty("ACQS_DE") + private String acqsDe; // 취득일자 - @JsonProperty("OWNR_DONG_CD") - private String ownrDongCd; + @JsonProperty("ACQS_END_DE") + private String acqsEndDe; // 취득종료일자 - @JsonProperty("OWNR_MTN_YN") - private String ownrMtnYn; + @JsonProperty("YBL_MD") + private String yblMd; // 제작년월일 - @JsonProperty("OWNR_LNBR") - private String ownrLnbr; + @JsonProperty("TRANSR_REGIST_DE") + private String transrRegistDe; // 이전등록일(양수일) - @JsonProperty("OWNR_HO") - private String ownrHo; + // ===== 상태 / 검사 / 금액 ===== + @JsonProperty("SPCF_REGIST_STTUS_CODE") + private String spcfRegistSttusCode; // 제원등록상태코드 - @JsonProperty("OWNR_ADDR_NM") - private String ownrAddrNm; + @JsonProperty("COLOR_NM") + private String colorNm; // 색상명 - @JsonProperty("OWNR_ROAD_NM_CD") - private String ownrRoadNmCd; + @JsonProperty("MRTG_CO") + private String mrtgCo; // 저당수 - @JsonProperty("OWNR_UDGD_BLDG_SE_CD") - private String ownrUdgdBldgSeCd; + @JsonProperty("SEIZR_CO") + private String seizrCo; // 압류건수 - @JsonProperty("OWNR_BMNO") - private String ownrBmno; + @JsonProperty("STMD_CO") + private String stmdCo; // 구조변경수 - @JsonProperty("OWNR_BSNO") - private String ownrBsno; + @JsonProperty("NMPL_CSDY_AT") + private String nmplCsdyAt; // 번호판영치여부 - @JsonProperty("REAR_VHRNO") - private String rearVhrno; + @JsonProperty("NMPL_CSDY_REMNR_DE") + private String nmplCsdyRemnrDe; // 번호판영치최고일 - @JsonProperty("USG_SE_CD") - private String usgSeCd; + @JsonProperty("ORIGIN_SE_CODE") + private String originSeCode; // 출처구분코드 - @JsonProperty("VEAG_END_YMD") - private String veagEndYmd; + @JsonProperty("NMPL_STNDRD_CODE") + private String nmplStndrdCode; // 번호판규격코드 - @JsonProperty("CHG_YMD") - private String chgYmd; + @JsonProperty("ACQS_AMOUNT") + private String acqsAmount; // 취득금액(최종/최초) - @JsonProperty("CARMDL_SE_CD") - private String carmdlSeCd; + @JsonProperty("INSPT_VALID_PD_BGNDE") + private String insptValidPdBgnde; // 검사유효기간시작일 - @JsonProperty("CARMDL_TYPE_NM") - private String carmdlTypeNm; + @JsonProperty("INSPT_VALID_PD_ENDDE") + private String insptValidPdEndde; // 검사유효기간종료일 - @JsonProperty("ACQS_YMD") - private String acqsYmd; + @JsonProperty("USE_STRNGHLD_GRC_CODE") + private String useStrnghldGrcCode; // 사용본거지관청코드 - @JsonProperty("ACQS_END_YMD") - private String acqsEndYmd; + @JsonProperty("TKCAR_PSCAP_CO") + private String tkcarPscapCo; // 승차정원수 - @JsonProperty("TRANSR_REG_YMD") - private String transrRegYmd; + @JsonProperty("SPMNNO") + private String spmnno; // 제원관리번호 - @JsonProperty("SPCF_REG_STTS_CD") - private String spcfRegSttsCd; + @JsonProperty("TRVL_DSTNC") + private String trvlDstnc; // 주행거리 - @JsonProperty("SRC_SE_CD") - private String srcSeCd; + @JsonProperty("FRST_REGIST_RQRCNO") + private String frstRegistRqrcno; // 최초등록접수번호 - @JsonProperty("NOPLT_SPCFCT_CD") - private String nopltSpcfctCd; + @JsonProperty("VLNT_ERSR_PRVNTC_NTICE_DE") + private String vlntErsrPrvntcNticeDe; // 예고통지일 - @JsonProperty("ACQS_AMT") - private String acqsAmt; + @JsonProperty("REGIST_INSTT_NM") + private String registInsttNm; // 등록기관명 - @JsonProperty("USGSRHLD_GRC_CD") - private String usgsrhldGrcCd; + @JsonProperty("PROCESS_IMPRTY_RESN_CODE") + private String processImprtyResnCode; // 처리불가사유코드 - @JsonProperty("VLNT_ERSR_PRVNTC_AVTSMT_YMD") - private String vlntErsrPrvntcAvtsmtYmd; + @JsonProperty("PROCESS_IMPRTY_RESN_DTLS") + private String processImprtyResnDtls; // 처리불가사유명세 - @JsonProperty("FRST_MXMM_LDG") - private String frstMxmmLdg; + @JsonProperty("CBD_LT") + private String cbdLt; // 차체길이 - @JsonProperty("REG_YMD") - private String regYmd; + @JsonProperty("CBD_BT") + private String cbdBt; // 차체너비 - @JsonProperty("ELCTY_CMPND_FUEL_CNSMPRT") - private String elctyCmpndFuelCnsmprt; + @JsonProperty("CBD_HG") + private String cbdHg; // 차체높이 - @JsonProperty("USGSRHLD_WHOL_ADDR") - private String usgsrhldWholAddr; + @JsonProperty("FRST_MXMM_LDG") + private String frstMxmmLdg; // 최초최대적재량 - @JsonProperty("MRTG_CNT") - private String mrtgCnt; + @JsonProperty("FUEL_CNSMP_RT") + private String fuelCnsmpRt; // 연료소비율 - @JsonProperty("SZR_CNT") - private String szrCnt; + @JsonProperty("ELCTY_CMPND_FUEL_CNSMP_RT") + private String elctyCmpndFuelCnsmpRt; // 전기복합연료소비율 } diff --git a/src/main/java/go/kr/project/biz/common/repository/CommonQueryDslRepository.java b/src/main/java/go/kr/project/biz/common/repository/CommonQueryDslRepository.java index 60437a1..057d8fa 100644 --- a/src/main/java/go/kr/project/biz/common/repository/CommonQueryDslRepository.java +++ b/src/main/java/go/kr/project/biz/common/repository/CommonQueryDslRepository.java @@ -3,16 +3,21 @@ package go.kr.project.biz.common.repository; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; import go.kr.project.biz.common.dto.CommonDto; +import go.kr.project.biz.common.dto.WebClientCallDto; +import go.kr.project.domain.entity.CpOwner; import go.kr.project.vo.CpBdongVO; import go.kr.project.vo.CpCancelAnswerVO; import go.kr.project.vo.CpViolationVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; +import javax.persistence.LockModeType; import java.util.List; import static go.kr.project.domain.entity.QCpBdong.cpBdong; import static go.kr.project.domain.entity.QCpCancelAnswer.cpCancelAnswer; +import static go.kr.project.domain.entity.QCpMain.cpMain; +import static go.kr.project.domain.entity.QCpOwner.cpOwner; import static go.kr.project.domain.entity.QCpSetinfo.cpSetinfo; import static go.kr.project.domain.entity.QCpViolation.cpViolation; @@ -97,6 +102,30 @@ public class CommonQueryDslRepository { return result; } + + + /** CpMain 차적조회 결과 업데이트 */ + public void updateCarinfoFromCpMain(String mmCode, CpOwner cpOwner, WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody) { + + queryFactory.update(cpMain) + .set(cpMain.mmCarno, carInfoIfBody.getVhrno()) + .set(cpMain.mmVhmno, "") + .set(cpMain.mmCargb, "") + .set(cpMain.mmCarkind, "") + .set(cpMain.mmOmcode, cpOwner.getOmCode()) + .set(cpMain.mmCarkind, "") + .set(cpMain.mmState, "") + .set(cpMain.mmStateDt, "") + .set(cpMain.mmViorcnt, "") + .set(cpMain.mmCarname, "") + .where( + cpMain.mmCode.eq(mmCode) + ) + .execute(); + + } + + public Boolean isGateWay() { String result = queryFactory .select( @@ -128,4 +157,12 @@ public class CommonQueryDslRepository { } + public String findMaxOmCode() { + return queryFactory + .select(cpOwner.omCode.max()) + .from(cpOwner) + .setLockMode(LockModeType.PESSIMISTIC_WRITE) + .fetchOne(); + + } } diff --git a/src/main/java/go/kr/project/biz/common/service/CommonService.java b/src/main/java/go/kr/project/biz/common/service/CommonService.java index fc78032..cdef86e 100644 --- a/src/main/java/go/kr/project/biz/common/service/CommonService.java +++ b/src/main/java/go/kr/project/biz/common/service/CommonService.java @@ -10,4 +10,6 @@ public interface CommonService { CommonDto.Response.CodeResult findCode(CommonDto.Request commonDto); WebClientCallDto.CarInfoResponse findCarInfo(String carNo, String mmDate); + + void updateCarInfoFromCpMain(String mmCode, WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody); } diff --git a/src/main/java/go/kr/project/biz/common/service/impl/CommonServiceImpl.java b/src/main/java/go/kr/project/biz/common/service/impl/CommonServiceImpl.java index 3efca41..7c91e0b 100644 --- a/src/main/java/go/kr/project/biz/common/service/impl/CommonServiceImpl.java +++ b/src/main/java/go/kr/project/biz/common/service/impl/CommonServiceImpl.java @@ -4,17 +4,24 @@ import go.kr.project.biz.common.dto.CommonDto; import go.kr.project.biz.common.dto.WebClientCallDto; import go.kr.project.biz.common.repository.CommonQueryDslRepository; import go.kr.project.biz.common.service.CommonService; +import go.kr.project.domain.entity.CpOwner; +import go.kr.project.domain.repo.cp.CpOwnerRepository; import go.kr.project.domain.repo.cp.CpSetinfoRepository; import go.kr.project.vo.mapper.EntityVoMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import javax.transaction.Transactional; + @Service @RequiredArgsConstructor public class CommonServiceImpl implements CommonService { private final EntityVoMapper mapper; private final WebClientCall webClientCall; + + private final CpOwnerRepository cpOwnerRepository; + private final CommonQueryDslRepository commonQueryDslRepository; private final CpSetinfoRepository cpSetinfoRepository; @@ -33,28 +40,46 @@ public class CommonServiceImpl implements CommonService { //게이트웨이 여부 조회 boolean isGateWay = commonQueryDslRepository.isGateWay(); + //게이트웨이가 아니라면 해당 변수에 null이 들어간다. + String pairProjectIp = commonQueryDslRepository.pairProjectIp(); - WebClientCallDto.CarInfoResponse resBody = new WebClientCallDto.CarInfoResponse(); - - //if 게이트웨이라면 자망호출 - if(isGateWay) { - resBody = webClientCall.carInfoCall(mmCarno, mmDate); - } else { - //else 게이트웨이 아니라면 페어 프로젝트 호출 - String pairProjectIp = commonQueryDslRepository.pairProjectIp(); + return webClientCall.carInfoCall(mmCarno, mmDate, pairProjectIp); + } + @Override + @Transactional + public void updateCarInfoFromCpMain(String mmCode, WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody) { + + // owner 인서트 + CpOwner cpOwner = CpOwner.builder() + .omCode(commonQueryDslRepository.findMaxOmCode() + 1) +// .omSggcode() + .omName(carInfoIfBody.getMberNm()) + .omNo1(carInfoIfBody.getMberSeNo().substring(0,6)) + .omJno(carInfoIfBody.getMberSeNo()) + .omNOGb(carInfoIfBody.getMberSeCode()) + .omJuso(carInfoIfBody.getUsgsrhldAdresFull()) + .omBunji(carInfoIfBody.getOwnerLnbr()) + .omZip(carInfoIfBody.getUseStrnghldBuldMainNo()) + .omDoroCode(carInfoIfBody.getOwnerRoadNmCode()) + .omBldPosition(carInfoIfBody.getUsgsrhldUndgrndBuldSeCode()) + .omBldNo1(carInfoIfBody.getUseStrnghldBuldMainNo()) + .omBldNo2(carInfoIfBody.getUseStrnghldBuldSubNo()) +// .omBldAdmno() + .omIngb(carInfoIfBody.getErsrRegistSeCode()) + .omIndt(carInfoIfBody.getTransrRegistDe()) + .build(); + cpOwnerRepository.save(cpOwner); - } + // main 업데이트 + commonQueryDslRepository.updateCarinfoFromCpMain(mmCode, cpOwner, carInfoIfBody); + // main hist 인서트 - //결과받아서 후처리 - return resBody; } - - } diff --git a/src/main/java/go/kr/project/biz/common/service/impl/WebClientCall.java b/src/main/java/go/kr/project/biz/common/service/impl/WebClientCall.java index bdcc64b..d4b144a 100644 --- a/src/main/java/go/kr/project/biz/common/service/impl/WebClientCall.java +++ b/src/main/java/go/kr/project/biz/common/service/impl/WebClientCall.java @@ -19,7 +19,7 @@ public class WebClientCall { private final Environment env; private final WebClient webClient; - public WebClientCallDto.CarInfoResponse carInfoCall(String mmCarno, String mmDate) { + public WebClientCallDto.CarInfoResponse carInfoCall(String mmCarno, String mmDate, String pairProjectIp) { WebClientCallDto.CarInfoRequest.BodyWrapper reqBody = WebClientCallDto.CarInfoRequest.BodyWrapper.builder() @@ -44,10 +44,11 @@ public class WebClientCall { ) .build(); - String PROTOCOL = env.getProperty("car-info.protocol");; - String DOMAIN = env.getProperty("car-info.domain"); - String PORT = env.getProperty("car-info.port"); - String DIR = env.getProperty("car-info.path.basic"); + // pair or gateway set + String PROTOCOL = env.getProperty("car-info.protocol"); + String DOMAIN = pairProjectIp == null ? env.getProperty("car-info.domain") : pairProjectIp; + String PORT = pairProjectIp == null ? env.getProperty("car-info.port") : ""; + String DIR = pairProjectIp == null ? env.getProperty("car-info.path.basic") : "/common/car/info/find.ajax"; Mono carInfoMono = webClient.post() .uri(PROTOCOL + DOMAIN + PORT + DIR) diff --git a/src/main/webapp/WEB-INF/views/biz/minwon/init/init_popup.jsp b/src/main/webapp/WEB-INF/views/biz/minwon/init/init_popup.jsp index f27787c..85dd79e 100644 --- a/src/main/webapp/WEB-INF/views/biz/minwon/init/init_popup.jsp +++ b/src/main/webapp/WEB-INF/views/biz/minwon/init/init_popup.jsp @@ -147,7 +147,7 @@
시군구
- +
@@ -237,7 +237,7 @@
소유주
- +
@@ -253,13 +253,13 @@
주민번호
- +
우편번호
- +
@@ -269,7 +269,7 @@
주소
- +
@@ -279,13 +279,13 @@
번지
- +
차대번호
- +
@@ -295,7 +295,7 @@
도로코드
- +
@@ -320,16 +320,21 @@ -
- - - - - - - - - +
+
+
+ + + + + + + +
+
+ +
+
@@ -350,6 +355,10 @@ <%----%> <%----%>