feat : 차적조회 후처리 로직 수정, 소유주정보 코드 이넘클래스 추가

kurt/kurt
Kurt92 2 days ago
parent d3336543ff
commit 09e0865033

@ -24,6 +24,16 @@ public class CommonDto {
}
@Getter
@Setter
public static class UpdateGuidance {
private String itSggcode;
private String itDate;
private String itCause;
private String itEtc;
private String itIndt;
private Integer itInuser;
}

@ -84,12 +84,13 @@ public class CommonServiceImpl implements CommonService {
switch(stateEnum) {
case VEHICLE_CHECKED:
updateStateService.updateCarInfoFromCpMain(mmCode, dtoConverter.toStrictDto(req, WebClientCallDto.CarInfoResponse.CarInfoIfBody.class));
updateStateService.updateCarInfoFromCpMain(mmCode, dtoConverter.toDto(req, WebClientCallDto.CarInfoResponse.CarInfoIfBody.class));
break;
case DESTRUCTION_DOC:
updateStateService.updateState(mmCode, MmStateEnum.DESTRUCTION_DOC);
break;
case GUIDANCE:
updateStateService.updateStateToGuidance(mmCode, MmStateEnum.GUIDANCE, dtoConverter.toDto(req, CommonDto.Request.UpdateGuidance.class));
break;
case GUIDANCE_PROCESSED:
break;

@ -1,14 +1,18 @@
package go.kr.project.biz.common.service.impl;
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.domain.entity.CpInstruct;
import go.kr.project.domain.entity.CpMain;
import go.kr.project.domain.entity.CpMainhist;
import go.kr.project.domain.entity.CpOwner;
import go.kr.project.domain.repo.cp.CpInstructRepository;
import go.kr.project.domain.repo.cp.CpMainRepository;
import go.kr.project.domain.repo.cp.CpMainhistRepository;
import go.kr.project.domain.repo.cp.CpOwnerRepository;
import go.kr.project.vo.code.MmStateEnum;
import go.kr.project.vo.code.OmIngbEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -29,19 +33,24 @@ public class UpdateStateService {
private final CpMainRepository cpMainRepository;
private final CpOwnerRepository cpOwnerRepository;
private final CpMainhistRepository cpMainhistRepository;
private final CpInstructRepository cpInstructRepository;
/** 대상 mmcode의 상태값만 업데이트 */
/**
* mmcode
* */
@Transactional
public void updateState(String mmCode, MmStateEnum disDocCode) {
public void updateState(String mmCode, MmStateEnum disDocCodeEnum) {
Optional<CpMain> cpMain = cpMainRepository.findById(mmCode);
cpMain.ifPresent(e-> e.changeMmState(disDocCode));
cpMain.ifPresent(e-> e.changeMmState(disDocCodeEnum));
}
/**
*
* */
@Transactional
public void updateCarInfoFromCpMain(String mmCode, WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody) {
@ -63,7 +72,7 @@ public class UpdateStateService {
.omBldNo1(carInfoIfBody.getUseStrnghldBuldMainNo())
.omBldNo2(carInfoIfBody.getUseStrnghldBuldSubNo())
// .omBldAdmno()
.omIngb(carInfoIfBody.getErsrRegistSeCode())
.omIngb(OmIngbEnum.CARINFO_API.getCode())
.omIndt(carInfoIfBody.getTransrRegistDe())
.build();
cpOwnerRepository.save(cpOwner);
@ -77,7 +86,53 @@ public class UpdateStateService {
}
public void InsertStateChangeHistToMainHist(String mmState, String mmCode) {
/**
*
* 1.
* 2. CpInstruct
* */
@Transactional
public void updateStateToGuidance(String mmCode, MmStateEnum GuidanceEnum, CommonDto.Request.UpdateGuidance dto) {
//CpMain 조회후 mmState 업데이트
Optional<CpMain> cpMain = cpMainRepository.findById(mmCode);
cpMain.ifPresent(e -> e.changeMmState(GuidanceEnum));
// CpInstruct 인서트
CpInstruct cpInstruct = CpInstruct.builder()
.itSggcode(dto.getItSggcode())
.itMmcode(mmCode)
.itDate(dto.getItDate())
.itCause(dto.getItCause())
.itEtc(dto.getItEtc())
.itIndt(dto.getItIndt())
.itInuser(dto.getItInuser())
.build();
cpInstructRepository.save(cpInstruct);
}
private void InsertStateChangeHistToMainHist(String mmState, String mmCode) {
Optional<CpMainhist> prevOpt = cpMainhistRepository.findTopByMhMmcodeOrderByMhIndtDesc(mmCode);
@ -107,8 +162,4 @@ public class UpdateStateService {
}

@ -1,4 +1,55 @@
package go.kr.project.vo.code;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@Getter
public enum OmIngbEnum {
MANUAL_INPUT("1", "수기입력"),
CARINFO_API("2", "차적망조회"),
RESIDENT_API("3", "주민망조회"),
RESIDENCE_REG("4", "거소지등록"),
CONVERSION_REG("5", "변환등록"),
FILE("6", "파일처리");
private String code;
private String desc;
OmIngbEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
private static final Map<String, OmIngbEnum> CODE_MAP = new HashMap<>();
private static final Map<String, OmIngbEnum> DESC_MAP = new HashMap<>();
static {
for (OmIngbEnum e : values()) {
CODE_MAP.put(e.code, e);
DESC_MAP.put(e.desc, e);
}
}
// code → desc
public static String getDescByCode(String code) {
OmIngbEnum e = CODE_MAP.get(code);
return e != null ? e.desc : null;
}
// desc → code
public static String getCodeByDesc(String desc) {
OmIngbEnum e = DESC_MAP.get(desc);
return e != null ? e.code : null;
}
// code → enum
public static OmIngbEnum fromCode(String code) {
return CODE_MAP.get(code);
}
}

@ -33,9 +33,9 @@
</div>
<div class="nav-group">
<button type="button" class="nav-btn" name="navigate" data-act="first" id="first">◀◀</button>
<button type="button" class="nav-btn" name="navigate" data-act="prev">◀</button>
<button type="button" class="nav-btn" name="navigate" data-act="next">▶</button>
<button type="button" class="nav-btn" name="navigate" data-act="last">▶▶</button>
<button type="button" class="nav-btn" name="navigate" data-act="prev" id="prev">◀</button>
<button type="button" class="nav-btn" name="navigate" data-act="next" id="next">▶</button>
<button type="button" class="nav-btn" name="navigate" data-act="last" id="last">▶▶</button>
</div>
</div>
@ -345,7 +345,7 @@
</div>
<jsp:include page="/WEB-INF/views/biz/totalInfo/totalInfo_photo_dialog.jsp" />
<jsp:include page="/WEB-INF/views/biz/dialog/destruction_doc_dialog.jsp" />
<jsp:include page="/WEB-INF/views/biz/dialog/destructionDoc_dialog.jsp" />
<jsp:include page="/WEB-INF/views/biz/dialog/guidance_dialog.jsp" />
</div>
@ -564,13 +564,24 @@
console.log("!!!!!!!!!!!!!",CAR_INFO)
$.ajax({
url: `/common/update/\${cursor}/21/update.ajax`,
url: `/common/update/\${cursor}/21/state.ajax`,
type: "PUT",
data: JSON.stringify(CAR_INFO[0]),
contentType: "application/json",
success: function(response) {
alert("차적조회 완료 상태로 변경 완료.")
const updatedCodes = mmCodes.filter(code => code !== cursor);
localStorage.setItem("TOTAL_INFO_STATE", JSON.stringify({
cursor: null,
mmCodes: updatedCodes
}));
$("#next").trigger("click");
},
error: function(xhr, status, error) {
$("#result").text("수정 실패");
@ -658,15 +669,10 @@
return false;
}
// 오너 테이블 인서트
// 차량조회가 완료되었으면 스테이트 변경
fnBiz.carInfoUpdate(e);
})
}

Loading…
Cancel
Save