From dab6be68f8fb10ad858cd0e648a2c32854c7a28a Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Wed, 14 Jan 2026 11:45:01 +0900 Subject: [PATCH] =?UTF-8?q?[KC-148]=20=ED=95=99=EC=8A=B5=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=EA=B4=80=EB=A6=AC=20>=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=ED=95=AD=EB=AA=A9=20=EC=B6=94=EA=B0=80=20(=EA=B8=B0=ED=9A=8D?= =?UTF-8?q?=EC=95=88=20=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../label/LabelAllocateApiController.java | 22 +++++++++---------- .../cd/kamcoback/label/dto/LabelWorkDto.java | 4 ++++ .../label/LabelWorkRepositoryImpl.java | 21 +++++++++++++++++- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java b/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java index 31bd064e..c5df481c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java @@ -259,32 +259,32 @@ public class LabelAllocateApiController { name = "라벨링 종료", value = """ - {"closedType": "LABELING", "closedYn": "Y"} - """), + {"closedType": "LABELING", "closedYn": "Y"} + """), @io.swagger.v3.oas.annotations.media.ExampleObject( name = "검수 종료", value = """ - {"closedType": "INSPECTION", "closedYn": "Y"} - """), + {"closedType": "INSPECTION", "closedYn": "Y"} + """), @io.swagger.v3.oas.annotations.media.ExampleObject( name = "라벨링 재개", value = """ - {"closedType": "LABELING", "closedYn": "N"} - """), + {"closedType": "LABELING", "closedYn": "N"} + """), @io.swagger.v3.oas.annotations.media.ExampleObject( name = "검수 재개", value = """ - {"closedType": "INSPECTION", "closedYn": "N"} - """), + {"closedType": "INSPECTION", "closedYn": "N"} + """), @io.swagger.v3.oas.annotations.media.ExampleObject( - name = "특정 프로젝트 라벨링 종료", + name = "특정 프로젝트 라벨링 전체 종료", value = """ - {"uuid": "f97dc186-e6d3-4645-9737-3173dde8dc64", "closedType": "LABELING", "closedYn": "Y"} - """) + {"uuid": "f97dc186-e6d3-4645-9737-3173dde8dc64", "closedType": "INSPECTION", "closedYn": "Y"} + """) })) @RequestBody @Valid diff --git a/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelWorkDto.java b/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelWorkDto.java index 11baac75..761567d1 100644 --- a/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelWorkDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelWorkDto.java @@ -58,6 +58,10 @@ public class LabelWorkDto { private String labelingClosedYn; private String inspectionClosedYn; + private Long inspectorCompleteTotCnt; + private Long inspectorRemainCnt; + private ZonedDateTime projectCloseDttm; + @JsonProperty("detectYear") public String getDetectYear() { if (compareYyyy == null || targetYyyy == null) { diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelWorkRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelWorkRepositoryImpl.java index 50bcd45b..2c5e3485 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelWorkRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelWorkRepositoryImpl.java @@ -1,5 +1,6 @@ package com.kamco.cd.kamcoback.postgres.repository.label; +import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState; 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; @@ -204,7 +205,25 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom { // totalAssignmentCnt: 총 배정 건수 (서브쿼리) totalAssignmentCntSubQuery, mapSheetAnalInferenceEntity.labelingClosedYn, - mapSheetAnalInferenceEntity.inspectionClosedYn)) + mapSheetAnalInferenceEntity.inspectionClosedYn, + new CaseBuilder() + .when( + mapSheetAnalDataInferenceGeomEntity.testState.eq( + InspectState.COMPLETE.getId())) + .then(1L) + .otherwise(0L) + .sum(), + new CaseBuilder() + .when( + mapSheetAnalDataInferenceGeomEntity.testState.eq( + InspectState.UNCONFIRM.getId())) + .then(1L) + .otherwise(0L) + .sum(), + new CaseBuilder() + .when(mapSheetAnalInferenceEntity.inspectionClosedYn.eq("Y")) + .then(mapSheetAnalInferenceEntity.updatedDttm) + .otherwise((ZonedDateTime) null))) .from(mapSheetAnalInferenceEntity) .innerJoin(mapSheetAnalDataInferenceEntity) .on(whereSubDataBuilder)