학습데이터 관리 목록 순서 변경, 주석추가
This commit is contained in:
@@ -575,11 +575,37 @@ public class InferenceResultCoreService {
|
||||
return mapSheetLearn5kRepository.getInferenceRunMapId(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 실패 처리되어야 할 목록 중에 아직 실패로 표시되지 않은 ID 조회
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param failMapIds AI API 연결하여 조회한 실패 job id
|
||||
* @param type 모델 타입
|
||||
* @return job id
|
||||
*/
|
||||
public List<Long> findFail5kList(UUID uuid, List<Long> failMapIds, String type) {
|
||||
return mapSheetLearn5kRepository.findFail5kList(uuid, failMapIds, type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 완료된 것으로 들어온 목록 중 실제로 존재하는 5k jobId 조회
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param completedIds AI API 연결하여 조회한 성공 job id
|
||||
* @param type 모델 타입
|
||||
* @return job id
|
||||
*/
|
||||
public List<Long> findCompleted5kList(UUID uuid, List<Long> completedIds, String type) {
|
||||
return mapSheetLearn5kRepository.findCompleted5kList(uuid, completedIds, type);
|
||||
}
|
||||
|
||||
/**
|
||||
* testing 테이블 결과로 기본정보 조회
|
||||
*
|
||||
* @param batchIds batch id
|
||||
* @return batch id, model ver, year 정보
|
||||
*/
|
||||
public List<InferenceResultsTestingDto.Basic> getInferenceResultGroupList(List<Long> batchIds) {
|
||||
return inferenceResultsTestingRepository.getInferenceResultGroupList(batchIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,4 +109,18 @@ public class ModelMngCoreService {
|
||||
.orElseThrow(() -> new EntityNotFoundException("모델 정보가 없습니다."));
|
||||
return entity.toDto();
|
||||
}
|
||||
|
||||
/**
|
||||
* 모델 버전명으로 조회
|
||||
*
|
||||
* @param ver 모델버전
|
||||
* @return 모델정보
|
||||
*/
|
||||
public ModelMngDto.Basic findByModelVer(String ver) {
|
||||
ModelMngEntity entity =
|
||||
modelMngRepository
|
||||
.findByModelVer(ver)
|
||||
.orElseThrow(() -> new EntityNotFoundException("모델 정보가 없습니다."));
|
||||
return entity.toDto();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +117,7 @@ public class ModelMngEntity extends CommonDateEntity {
|
||||
this.clsModelFileName,
|
||||
this.clsModelVersion,
|
||||
this.priority,
|
||||
this.memo);
|
||||
this.memo,
|
||||
this.uuid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
||||
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultsTestingDto;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.InferenceResultsTestingEntity;
|
||||
import java.util.List;
|
||||
|
||||
public interface InferenceResultsTestingRepositoryCustom {
|
||||
|
||||
/**
|
||||
* 추론 결과 조회
|
||||
*
|
||||
* @param batchIds batch id
|
||||
* @return 추론 결과 목록
|
||||
*/
|
||||
List<InferenceResultsTestingEntity> getInferenceResultList(List<Long> batchIds);
|
||||
|
||||
/**
|
||||
@@ -14,4 +21,12 @@ public interface InferenceResultsTestingRepositoryCustom {
|
||||
* @return batchIds 조회 count 수
|
||||
*/
|
||||
Long getInferenceResultCnt(List<Long> batchIds);
|
||||
|
||||
/**
|
||||
* testing 테이블 결과로 기본정보 조회
|
||||
*
|
||||
* @param batchIds batch id
|
||||
* @return batch id, model ver, year 정보
|
||||
*/
|
||||
List<InferenceResultsTestingDto.Basic> getInferenceResultGroupList(List<Long> batchIds);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
||||
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QInferenceResultsTestingEntity.inferenceResultsTestingEntity;
|
||||
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultsTestingDto;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.InferenceResultsTestingEntity;
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -47,4 +49,29 @@ public class InferenceResultsTestingRepositoryImpl
|
||||
|
||||
return cnt == null ? 0L : cnt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InferenceResultsTestingDto.Basic> getInferenceResultGroupList(List<Long> batchIds) {
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
InferenceResultsTestingDto.Basic.class,
|
||||
inferenceResultsTestingEntity.batchId,
|
||||
inferenceResultsTestingEntity.modelVersion.max(),
|
||||
inferenceResultsTestingEntity.beforeYear.max(),
|
||||
inferenceResultsTestingEntity.afterYear.max()))
|
||||
.from(inferenceResultsTestingEntity)
|
||||
.where(
|
||||
inferenceResultsTestingEntity
|
||||
.batchId
|
||||
.in(batchIds)
|
||||
.and(inferenceResultsTestingEntity.afterC.isNotNull())
|
||||
.and(inferenceResultsTestingEntity.afterP.isNotNull()))
|
||||
.groupBy(
|
||||
inferenceResultsTestingEntity.batchId,
|
||||
inferenceResultsTestingEntity.modelVersion,
|
||||
inferenceResultsTestingEntity.beforeYear,
|
||||
inferenceResultsTestingEntity.afterYear)
|
||||
.fetch();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,42 @@ import java.util.UUID;
|
||||
|
||||
public interface MapSheetLearn5kRepositoryCustom {
|
||||
|
||||
/**
|
||||
* 추론 실행 실패 정보 저장
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param jobDto AI API에서 조회한 Job 정보
|
||||
* @param type 모델 타입
|
||||
*/
|
||||
void saveFail5k(UUID uuid, JobStatusDto jobDto, String type);
|
||||
|
||||
/**
|
||||
* 추론 실행중인 Job id 저장
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param jobDto AI API에서 조회한 Job 정보
|
||||
* @param type 모델 타입
|
||||
*/
|
||||
void saveJobId(UUID uuid, JobStatusDto jobDto, String type);
|
||||
|
||||
/**
|
||||
* 실패 처리되어야 할 목록 중에 아직 실패로 표시되지 않은 ID 조회
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param failIds AI API 연결하여 조회한 실패 job id
|
||||
* @param type 모델 타입
|
||||
* @return 실패로 표시되지 않은 ID
|
||||
*/
|
||||
List<Long> findFail5kList(UUID uuid, List<Long> failIds, String type);
|
||||
|
||||
/**
|
||||
* 완료된 것으로 들어온 목록 중 실제로 존재하는 5k jobId 조회
|
||||
*
|
||||
* @param uuid 추론 uuid
|
||||
* @param completedIds AI API 연결하여 조회한 실패 job id
|
||||
* @param type 모델 타입
|
||||
* @return 성공한 job id
|
||||
*/
|
||||
List<Long> findCompleted5kList(UUID uuid, List<Long> completedIds, String type);
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapShe
|
||||
|
||||
import com.kamco.cd.kamcoback.common.enums.ImageryFitStatus;
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState;
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelMngState;
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelState;
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto;
|
||||
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto.LabelWorkMng;
|
||||
@@ -166,6 +167,19 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
|
||||
.from(labelingAssignmentEntity)
|
||||
.where(labelingAssignmentEntity.analUid.eq(mapSheetAnalInferenceEntity.id));
|
||||
|
||||
/** 순서 ING 진행중 ASSIGNED 작업할당 PENDING 작업대기 FINISH 종료 */
|
||||
NumberExpression<Integer> stateOrder =
|
||||
new CaseBuilder()
|
||||
.when(mapSheetAnalInferenceEntity.analState.eq(LabelMngState.ING.getId()))
|
||||
.then(0)
|
||||
.when(mapSheetAnalInferenceEntity.analState.eq(LabelMngState.ASSIGNED.getId()))
|
||||
.then(1)
|
||||
.when(mapSheetAnalInferenceEntity.analState.eq(LabelMngState.PENDING.getId()))
|
||||
.then(2)
|
||||
.when(mapSheetAnalInferenceEntity.analState.eq(LabelMngState.FINISH.getId()))
|
||||
.then(3)
|
||||
.otherwise(99);
|
||||
|
||||
List<LabelWorkMng> foundContent =
|
||||
queryFactory
|
||||
.select(
|
||||
@@ -251,6 +265,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
|
||||
mapSheetLearnEntity.uid,
|
||||
mapSheetLearnEntity.uuid)
|
||||
.orderBy(
|
||||
stateOrder.asc(),
|
||||
mapSheetAnalInferenceEntity.targetYyyy.desc(),
|
||||
mapSheetAnalInferenceEntity.compareYyyy.desc(),
|
||||
mapSheetAnalInferenceEntity.stage.desc())
|
||||
|
||||
@@ -39,4 +39,12 @@ public interface ModelMngRepositoryCustom {
|
||||
Optional<ModelMngEntity> findByModelId(Long id);
|
||||
|
||||
Optional<ModelMngEntity> findByModelId(UUID id);
|
||||
|
||||
/**
|
||||
* 버전명으로 모델 조회
|
||||
*
|
||||
* @param ver 모델버전
|
||||
* @return 모델정보
|
||||
*/
|
||||
Optional<ModelMngEntity> findByModelVer(String ver);
|
||||
}
|
||||
|
||||
@@ -246,4 +246,14 @@ public class ModelMngRepositoryImpl extends QuerydslRepositorySupport
|
||||
return Optional.ofNullable(
|
||||
queryFactory.selectFrom(modelMngEntity).where(modelMngEntity.uuid.eq(uuid)).fetchOne());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<ModelMngEntity> findByModelVer(String ver) {
|
||||
return Optional.ofNullable(
|
||||
queryFactory
|
||||
.selectFrom(modelMngEntity)
|
||||
.where(modelMngEntity.modelVer.eq(ver))
|
||||
.limit(1)
|
||||
.fetchOne());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user