Merge pull request 'kurt/kurt' (#32) from kurt/kurt into dev

Reviewed-on: http://211.119.124.110:3000/cjm/clean-parking/pulls/32
pull/33/head^2
cjm 6 days ago
commit 4b98ec1cc2

@ -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");
}
/**
*
*/

@ -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; // 전기복합연료소비율
}

@ -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();
}
}

@ -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);
}

@ -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;
}
}

@ -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<WebClientCallDto.CarInfoResponse> carInfoMono = webClient.post()
.uri(PROTOCOL + DOMAIN + PORT + DIR)

@ -147,7 +147,7 @@
<div class="field-group">
<div class="lbl">시군구</div>
<div class="fld">
<input type="text" name="cpAnswer" data-field="asJsno" id="asJsno" value="" readonly>
<input type="text" name="cpAnswer" data-field="" id="" value="" readonly>
</div>
</div>
<div class="field-group">
@ -237,7 +237,7 @@
<div class="field-group">
<div class="lbl">소유주</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="MBER_NM" id="MBER_NM" value="" >
</div>
</div>
<div class="field-group">
@ -253,13 +253,13 @@
<div class="field-group">
<div class="lbl">주민번호</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="MBER_SE_NO" id="MBER_SE_NO" value="" >
</div>
</div>
<div class="field-group">
<div class="lbl">우편번호</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="USE_STRNGHLD_BULD_MAIN_NO" id ="USE_STRNGHLD_BULD_MAIN_NO" value="" >
</div>
</div>
</div>
@ -269,7 +269,7 @@
<div class="field-group full">
<div class="lbl">주소</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="USE_STRNGHLD_ADRES_NM" id="USE_STRNGHLD_ADRES_NM" value="" >
</div>
</div>
</div>
@ -279,13 +279,13 @@
<div class="field-group">
<div class="lbl">번지</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="USE_STRNGHLD_LNBR" id="USE_STRNGHLD_LNBR" value="" >
</div>
</div>
<div class="field-group">
<div class="lbl">차대번호</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="VIN" id="VIN" value="" >
</div>
</div>
</div>
@ -295,7 +295,7 @@
<div class="field-group">
<div class="lbl">도로코드</div>
<div class="fld">
<input type="text" data-field="" value="" >
<input type="text" data-field="USE_STRNGHLD_ROAD_NM_CODE" id="USE_STRNGHLD_ROAD_NM_CODE" value="" >
</div>
</div>
<div class="field-group empty"></div>
@ -320,16 +320,21 @@
</div>
</div>
<div id="btn-area">
<button type="button" class="btn btn-light" name="changeSt" id="non-target" value="81">미부과처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="guide" value="">계도처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="return" value="">회수처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="copy" value="">자료복사</button>
<button type="button" class="btn btn-light" id="delay">처리보류</button>
<button type="button" class="btn btn-light" id="init">되돌리기</button>
<button type="button" class="btn btn-light" id="lavyTarget">되돌리기</button>
<button type="button" class="btn btn-light" id="stateChange" hidden>처리상태 변경</button>
<div class="left btn btn-light">
<div class="btn-align">
<div class="align-left">
<button type="button" class="btn btn-light" name="changeSt" id="non-target" value="81">미부과처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="guide" value="">계도처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="return" value="">회수처리</button>
<button type="button" class="btn btn-light" name="changeSt" id="copy" value="">자료복사</button>
<button type="button" class="btn btn-light" id="delay">처리보류</button>
<button type="button" class="btn btn-light" id="init">되돌리기</button>
<button type="button" class="btn btn-light" id="lavyTarget">되돌리기</button>
</div>
<div class="align-right">
<button type="button" class="btn btn-light" id="save" value="21">저장</button>
</div>
</div>
</div>
</div>
@ -350,6 +355,10 @@
<%--<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>--%>
<%--<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>--%>
<script type="text/javascript">
let CAR_INFO_YN = false;
let CAR_INFO = {};
window.INIT_POP_API = {
search: () => {
const { cursor, mmCodes } = JSON.parse(localStorage.getItem("TOTAL_INFO_STATE"));
@ -379,7 +388,7 @@
$("#asState").val(response.data.cpAnswer.asState);
$("#asStateDt").val(response.data.cpAnswer.asStateDt);
$("#asCell").val(response.data.cpAnswer.asCell);
$("#asJsno").val(response.data.cpAnswer.asJsno);
// $("#asJsno").val(response.data.cpAnswer.asJsno);
$("#asJsdate").val(response.data.cpAnswer.asJsdate);
$("#asLimitDt").val(response.data.cpAnswer.asLimitDt);
@ -474,9 +483,22 @@
alert("조회결과가 없습니다.")
return;
};
$("#MTRS_FOM_NM").val(response.record[0].MTRS_FOM_NM)
$("#CNM").val(response.record[0].CNM)
$("#COLOR_NM").val(response.record[0].COLOR_NM)
$("#MTRS_FOM_NM").val(response.record[0].MTRS_FOM_NM);
$("#CNM").val(response.record[0].CNM);
$("#COLOR_NM").val(response.record[0].COLOR_NM);
$("#MBER_NM").val(response.record[0].MBER_NM);
$("#MBER_SE_NO").val(response.record[0].MBER_SE_NO);
$("#USE_STRNGHLD_ADRES_NM").val(response.record[0].USE_STRNGHLD_ADRES_NM);
$("#USE_STRNGHLD_BULD_MAIN_NO").val(response.record[0].USE_STRNGHLD_BULD_MAIN_NO);
$("#VIN").val(response.record[0].VIN);
$("#USE_STRNGHLD_LNBR").val(response.record[0].USE_STRNGHLD_LNBR);
$("#USE_STRNGHLD_ROAD_NM_CODE").val(response.record[0].USE_STRNGHLD_ROAD_NM_CODE);
CAR_INFO = true;
},
error: function(xhr, status, error) {
$("#result").text("조회 실패");
@ -506,6 +528,10 @@
},
saveOnwer: () => {
},
changeState: (e) => {
let state = e.target.value;
const { cursor, mmCodes } = JSON.parse(localStorage.getItem("TOTAL_INFO_STATE"));
@ -590,6 +616,27 @@
})
/** 저장 */
$("#save").on("click", (e) => {
//차량번호 유무 확인
if(!CAR_INFO) {
alert("차량조회가 필요합니다.")
return false;
}
// 오너 테이블 인서트
// 차량조회가 완료되었으면 스테이트 변경
fnBiz.changeState()
})
}
}

@ -372,3 +372,27 @@
/** totalInfo End */
/** btn area */
.btn-align {display: flex; width: 100%}
.btn-align > .align-left {display: flex; justify-content: flex-start;}
.btn-align > .align-center {display: flex; justify-content: center;}
.btn-align > .align-right {display: flex; justify-content: flex-end; margin-left: auto;}
/** 정렬 common start */
.btn-align-left {
text-align: left;
}
.btn-align-right {
text-align: right;
}
/** 정렬 common end */

@ -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;
}

@ -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;
}

@ -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<CpOwner, String> {
}

@ -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<CpOwner, String> {
}
Loading…
Cancel
Save