From 85ad31af34877aca008c423f6e2ef83c18a1e41c Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Mon, 5 Jan 2026 17:17:23 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EB=B2=A8=EB=A7=81=20=ED=95=A0?= =?UTF-8?q?=EB=8B=B9,=EC=9D=B4=EA=B4=80=20=ED=8C=8C=EB=9D=BC=EB=AF=B8?= =?UTF-8?q?=ED=84=B0=20=ED=98=95=ED=83=9C=20=EB=B3=80=EA=B2=BD,=20userDeta?= =?UTF-8?q?il=20=EB=A6=AC=ED=84=B4=20=ED=95=AD=EB=AA=A9=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../label/LabelAllocateApiController.java | 17 ++++++-------- .../kamcoback/label/dto/LabelAllocateDto.java | 23 ++++++++++++------- .../label/LabelAllocateRepositoryImpl.java | 16 +++++++++++-- 3 files changed, 36 insertions(+), 20 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 b3855573..02788cc2 100644 --- a/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/label/LabelAllocateApiController.java @@ -119,13 +119,11 @@ public class LabelAllocateApiController { public ApiResponseDto labelAllocate( @RequestBody @Valid LabelAllocateDto.AllocateDto dto) { + int compareYyyy = Integer.parseInt(dto.getYyyy().split("-")[0]); + int targetYyyy = Integer.parseInt(dto.getYyyy().split("-")[1]); return ApiResponseDto.okObject( labelAllocateService.allocateAsc( - dto.getStage(), - dto.getLabelers(), - dto.getInspectors(), - dto.getCompareYyyy(), - dto.getTargetYyyy())); + dto.getStage(), dto.getLabelers(), dto.getInspectors(), compareYyyy, targetYyyy)); } @Operation(summary = "작업현황 관리 > 변화탐지 회차 정보", description = "작업현황 관리 > 변화탐지 회차 정보") @@ -193,13 +191,12 @@ public class LabelAllocateApiController { @RequestBody LabelAllocateDto.AllocateMoveDto dto) { + int compareYyyy = Integer.parseInt(dto.getYyyy().split("-")[0]); + int targetYyyy = Integer.parseInt(dto.getYyyy().split("-")[1]); + return ApiResponseDto.okObject( labelAllocateService.allocateMove( - dto.getStage(), - dto.getLabelers(), - dto.getCompareYyyy(), - dto.getTargetYyyy(), - dto.getUserId())); + dto.getStage(), dto.getLabelers(), compareYyyy, targetYyyy, dto.getUserId())); } @Operation( diff --git a/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelAllocateDto.java b/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelAllocateDto.java index 12c95bb7..3bbc7aab 100644 --- a/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelAllocateDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/label/dto/LabelAllocateDto.java @@ -91,11 +91,14 @@ public class LabelAllocateDto { @AllArgsConstructor public static class AllocateDto { - @Schema(description = "비교년도", example = "2022", required = true) - private Integer compareYyyy; + @Schema(description = "비교년도-기준년도", example = "2022-2024", required = true) + private String yyyy; - @Schema(description = "기준년도", example = "2024", required = true) - private Integer targetYyyy; + // @Schema(description = "비교년도", example = "2022", required = true) + // private Integer compareYyyy; + // + // @Schema(description = "기준년도", example = "2024", required = true) + // private Integer targetYyyy; @Schema(description = "회차", example = "4", required = true) private Integer stage; @@ -218,6 +221,7 @@ public class LabelAllocateDto { private Integer ranking; private ZonedDateTime createdDttm; private String ownerName; + private Long remainCnt; } @Getter @@ -245,11 +249,14 @@ public class LabelAllocateDto { """) private List labelers; - @Schema(description = "비교년도", example = "2022") - private Integer compareYyyy; + @Schema(description = "비교년도-기준년도", example = "2022-2024") + private String yyyy; - @Schema(description = "기준년도", example = "2024") - private Integer targetYyyy; + // @Schema(description = "비교년도", example = "2022") + // private Integer compareYyyy; + // + // @Schema(description = "기준년도", example = "2024") + // private Integer targetYyyy; @Schema(description = "대상 사번", example = "01022223333") private String userId; diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelAllocateRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelAllocateRepositoryImpl.java index fa94a7b5..03dd8859 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelAllocateRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/label/LabelAllocateRepositoryImpl.java @@ -583,6 +583,11 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto QMemberEntity worker = QMemberEntity.memberEntity; QMemberEntity inspector = new QMemberEntity("inspector"); + // remainCnt + Expression remainCnt = + Expressions.numberTemplate( + Long.class, "({0} - {1} - {2})", assignedCnt, skipCnt, completeCnt); + return queryFactory .select( Projections.constructor( @@ -596,7 +601,8 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto percent, Expressions.constant(0), // TODO: 순위, 꼭 해야할지? labelingAssignmentEntity.workStatDttm.min(), - inspector.name.min())) + inspector.name.min(), + remainCnt)) .from(worker) .innerJoin(labelingAssignmentEntity) .on( @@ -945,6 +951,11 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto QMemberEntity inspector = QMemberEntity.memberEntity; QMemberEntity worker = new QMemberEntity("worker"); + // remainCnt + Expression remainCnt = + Expressions.numberTemplate( + Long.class, "({0} - {1} - {2})", assignedCnt, skipCnt, completeCnt); + return queryFactory .select( Projections.constructor( @@ -958,7 +969,8 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto percent, Expressions.constant(0), // TODO: 순위, 꼭 해야할지? labelingAssignmentEntity.inspectStatDttm.min(), - worker.name.min())) + worker.name.min(), + remainCnt)) .from(inspector) .innerJoin(labelingAssignmentEntity) .on(