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 96d62b4..7d9f955 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 @@ -87,6 +87,7 @@ public class CommonServiceImpl implements CommonService { updateStateService.updateCarInfoFromCpMain(mmCode, dtoConverter.toStrictDto(req, WebClientCallDto.CarInfoResponse.CarInfoIfBody.class)); break; case DESTRUCTION_DOC: + updateStateService.updateState(mmCode, MmStateEnum.DESTRUCTION_DOC); break; case GUIDANCE: 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 3c6675b..48d6673 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 @@ -2,14 +2,18 @@ package go.kr.project.biz.common.service.impl; import go.kr.project.biz.common.dto.WebClientCallDto; import go.kr.project.biz.common.repository.CommonQueryDslRepository; +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.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 lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.swing.text.html.Option; import javax.transaction.Transactional; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -22,9 +26,22 @@ public class UpdateStateService { private final CommonQueryDslRepository commonQueryDslRepository; + private final CpMainRepository cpMainRepository; private final CpOwnerRepository cpOwnerRepository; private final CpMainhistRepository cpMainhistRepository; + + /** 대상 mmcode의 상태값만 업데이트 */ + @Transactional + public void updateState(String mmCode, MmStateEnum disDocCode) { + + Optional cpMain = cpMainRepository.findById(mmCode); + cpMain.ifPresent(e-> e.changeMmState(disDocCode)); + + } + + + @Transactional public void updateCarInfoFromCpMain(String mmCode, WebClientCallDto.CarInfoResponse.CarInfoIfBody carInfoIfBody) { @@ -55,12 +72,12 @@ public class UpdateStateService { commonQueryDslRepository.updateCarinfoFromCpMain(mmCode, cpOwner, carInfoIfBody); // main hist 인서트 - StateChangeHistSaveToMainHist("21", mmCode); + InsertStateChangeHistToMainHist("21", mmCode); } - public void StateChangeHistSaveToMainHist(String mmState, String mmCode) { + public void InsertStateChangeHistToMainHist(String mmState, String mmCode) { Optional prevOpt = cpMainhistRepository.findTopByMhMmcodeOrderByMhIndtDesc(mmCode); @@ -92,4 +109,6 @@ public class UpdateStateService { + + } diff --git a/src/schemas/go/kr/project/domain/entity/CpMain.java b/src/schemas/go/kr/project/domain/entity/CpMain.java index b1d020b..0ff74a0 100644 --- a/src/schemas/go/kr/project/domain/entity/CpMain.java +++ b/src/schemas/go/kr/project/domain/entity/CpMain.java @@ -4,6 +4,8 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; + +import go.kr.project.vo.code.MmStateEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -160,6 +162,10 @@ public class CpMain { private String mmTransmitTeam; + public void changeMmState(MmStateEnum mmStateEnum) { + this.mmState = mmStateEnum.getCode(); + } + public void changeMmStateAfterSunap() { String newState; switch (this.mmState) { diff --git a/src/schemas/go/kr/project/domain/entity_new/CpMain.java b/src/schemas/go/kr/project/domain/entity_new/CpMain.java index e0f6b16..cd4e1bf 100644 --- a/src/schemas/go/kr/project/domain/entity_new/CpMain.java +++ b/src/schemas/go/kr/project/domain/entity_new/CpMain.java @@ -4,6 +4,8 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; + +import go.kr.project.vo.code.MmStateEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -192,15 +194,34 @@ public class CpMain { private String mmCarname; + public void changeMmState(MmStateEnum mmStateEnum) { + this.mmState = mmStateEnum.getCode(); + } + public void changeMmStateAfterSunap() { - this.mmState = switch (this.mmState) { - case "41" -> "71"; - case "51" -> "72"; - case "52" -> "73"; - case "53" -> "74"; - case "54", "55" -> "75"; - default -> "71"; - }; + String newState; + switch (this.mmState) { + case "41": + newState = "71"; + break; + case "51": + newState = "72"; + break; + case "52": + newState = "73"; + break; + case "53": + newState = "74"; + break; + case "54": + case "55": + newState = "75"; + break; + default: + newState = "71"; + break; + } + this.mmState = newState; } }