Merge remote-tracking branch 'origin/feat/infer_dev_260107' into feat/infer_dev_260107

This commit is contained in:
Moon
2026-01-13 10:26:51 +09:00
4 changed files with 33 additions and 6 deletions

View File

@@ -26,6 +26,7 @@ import com.kamco.cd.kamcoback.model.dto.ModelMngDto.Basic;
import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService;
import com.kamco.cd.kamcoback.postgres.core.MapSheetMngCoreService;
import com.kamco.cd.kamcoback.postgres.core.ModelMngCoreService;
import jakarta.persistence.EntityNotFoundException;
import jakarta.validation.constraints.NotNull;
import java.time.ZonedDateTime;
import java.util.ArrayList;
@@ -100,6 +101,10 @@ public class InferenceResultService {
req.setMapSheetNum(this.createdMngDto(req, targetList));
}
if (req.getMapSheetNum().isEmpty()) {
throw new EntityNotFoundException("분석 대상 정보가 부족합니다.");
}
// 추론 테이블 저장
UUID uuid = inferenceResultCoreService.saveInferenceInfo(req);
this.startInference(req, uuid);

View File

@@ -64,8 +64,12 @@ public class InferenceResultCoreService {
* @param req
*/
public UUID saveInferenceInfo(InferenceResultDto.RegReq req) {
String mapSheetName =
req.getMapSheetNum().get(0).getMapSheetName() + "" + req.getMapSheetNum().size() + "";
req.getMapSheetNum().get(0).getMapSheetName()
+ ""
+ (req.getMapSheetNum().size() - 1)
+ "";
if (req.getMapSheetNum().size() == 1) {
mapSheetName =
@@ -230,7 +234,9 @@ public class InferenceResultCoreService {
.orElseThrow(() -> new EntityNotFoundException());
if (request.getType().equals("M1")) {
entity.setM1ModelBatchId(request.getBatchId());
if (request.getBatchId() != null) {
entity.setM1ModelBatchId(request.getBatchId());
}
if (request.getModelStartDttm() != null) {
entity.setM1ModelStartDttm(request.getModelStartDttm());
@@ -241,7 +247,9 @@ public class InferenceResultCoreService {
}
} else if (request.getType().equals("M2")) {
entity.setM2ModelBatchId(request.getBatchId());
if (request.getBatchId() != null) {
entity.setM2ModelBatchId(request.getBatchId());
}
if (request.getModelStartDttm() != null) {
entity.setM2ModelStartDttm(request.getModelStartDttm());
@@ -252,7 +260,9 @@ public class InferenceResultCoreService {
}
} else if (request.getType().equals("M3")) {
entity.setM3ModelBatchId(request.getBatchId());
if (request.getBatchId() != null) {
entity.setM3ModelBatchId(request.getBatchId());
}
if (request.getModelStartDttm() != null) {
entity.setM3ModelStartDttm(request.getModelStartDttm());

View File

@@ -504,7 +504,7 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
whereBuilder.and(mapSheetMngHstEntity.mngYyyy.eq(mngYyyy));
whereBuilder.and(mapSheetMngHstEntity.mapSheetNum.in(mapIds));
whereBuilder.and(mapSheetMngHstEntity.dataState.eq("DONE"));
whereBuilder.and(mapSheetMngHstEntity.syncState.eq("DONE"));
whereBuilder.and(mapSheetMngHstEntity.syncState.eq("DONE")); // TODO 싱크체크 or조건 추가
whereBuilder.and(mapSheetMngHstEntity.useInference.eq("USE"));
return queryFactory

View File

@@ -53,6 +53,10 @@ public class MapSheetInferenceJobService {
@Transactional
public void runBatch() {
if ("local".equalsIgnoreCase(profile)) {
return;
}
try {
InferenceBatchSheet batchSheet =
inferenceResultCoreService.getInferenceResultByStatus(Status.IN_PROGRESS.getId());
@@ -102,7 +106,7 @@ public class MapSheetInferenceJobService {
// 종료시간
this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M1");
} else if (type.equals("M2")) {
// M1 완료되었으면 M3 실행
// M2 완료되었으면 M3 실행
this.startInference(
batchSheet.getId(), batchSheet.getUuid(), "M3", batchSheet.getM3ModelUuid());
// 종료시간
@@ -113,10 +117,18 @@ public class MapSheetInferenceJobService {
saveInferenceAiDto.setUuid(batchSheet.getUuid());
saveInferenceAiDto.setStatus(Status.END.getId());
saveInferenceAiDto.setInferEndDttm(ZonedDateTime.now());
saveInferenceAiDto.setType(type);
inferenceResultCoreService.update(saveInferenceAiDto);
// 종료시간
this.updateProcessingEndTimeByModel(batchSheet.getUuid(), ZonedDateTime.now(), "M3");
}
} else if ("COMPLETED_WITH_FAILURES".equals(dto.getStatus())) {
SaveInferenceAiDto saveInferenceAiDto = new SaveInferenceAiDto();
saveInferenceAiDto.setUuid(batchSheet.getUuid());
saveInferenceAiDto.setStatus(Status.END.getId());
saveInferenceAiDto.setInferEndDttm(ZonedDateTime.now());
saveInferenceAiDto.setType(batchSheet.getRunningModelType());
inferenceResultCoreService.update(saveInferenceAiDto);
} else {
SaveInferenceAiDto saveInferenceAiDto = new SaveInferenceAiDto();
saveInferenceAiDto.setUuid(batchSheet.getUuid());