diff --git a/src/main/java/go/kr/project/biz/common/dto/CommonDto.java b/src/main/java/go/kr/project/biz/common/dto/CommonDto.java index bb95558..13ea6bc 100644 --- a/src/main/java/go/kr/project/biz/common/dto/CommonDto.java +++ b/src/main/java/go/kr/project/biz/common/dto/CommonDto.java @@ -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; + } 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 7d9f955..34a6ba8 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 @@ -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; diff --git a/src/main/java/go/kr/project/biz/common/service/impl/UpdateStateService.java b/src/main/java/go/kr/project/biz/common/service/impl/UpdateStateService.java index 48d6673..7e7b6ac 100644 --- a/src/main/java/go/kr/project/biz/common/service/impl/UpdateStateService.java +++ b/src/main/java/go/kr/project/biz/common/service/impl/UpdateStateService.java @@ -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 = 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 = 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 prevOpt = cpMainhistRepository.findTopByMhMmcodeOrderByMhIndtDesc(mmCode); @@ -107,8 +162,4 @@ public class UpdateStateService { - - - - } diff --git a/src/main/java/go/kr/project/vo/code/OmIngbEnum.java b/src/main/java/go/kr/project/vo/code/OmIngbEnum.java index d307576..fe5aed0 100644 --- a/src/main/java/go/kr/project/vo/code/OmIngbEnum.java +++ b/src/main/java/go/kr/project/vo/code/OmIngbEnum.java @@ -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 CODE_MAP = new HashMap<>(); + private static final Map 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); + } + } 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 756314f..16bf778 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 @@ -33,9 +33,9 @@ @@ -345,7 +345,7 @@ - + @@ -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); - - }) }