From f1b3f1d95329992d8667f0a0a31cfee8e004ea30 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Mon, 14 Apr 2025 10:52:39 +0900 Subject: [PATCH] ee --- .../controller/api/ProjectController.java | 7 ++ .../localhost/mapper/NetprojctMapper.java | 3 + .../localhost/service/NetprojctService.java | 4 + src/main/resources/mapper/NetprojctMapper.xml | 90 ++++++++++++------- 4 files changed, 74 insertions(+), 30 deletions(-) diff --git a/src/main/java/io/company/localhost/controller/api/ProjectController.java b/src/main/java/io/company/localhost/controller/api/ProjectController.java index 0dd3b18..74feda7 100644 --- a/src/main/java/io/company/localhost/controller/api/ProjectController.java +++ b/src/main/java/io/company/localhost/controller/api/ProjectController.java @@ -180,4 +180,11 @@ public class ProjectController { return ApiResponse.ok(netprojctService.selectUserProjectPeriod(projctSeq)); } + @ParameterCheck + @GetMapping("/people/{memberSeq}") + public ApiResponse> selectUserProjectPeriod2(@PathVariable int memberSeq) { + + return ApiResponse.ok(netprojctService.selectUserProjectPeriod2(memberSeq)); + } + } diff --git a/src/main/java/io/company/localhost/mapper/NetprojctMapper.java b/src/main/java/io/company/localhost/mapper/NetprojctMapper.java index d3e047c..0af121a 100644 --- a/src/main/java/io/company/localhost/mapper/NetprojctMapper.java +++ b/src/main/java/io/company/localhost/mapper/NetprojctMapper.java @@ -34,4 +34,7 @@ public interface NetprojctMapper { int deleteProject(MapDto map); List selectUserProjectPeriod(int projectSeq); + + List selectUserProjectPeriod2(int memberSeq); } + diff --git a/src/main/java/io/company/localhost/service/NetprojctService.java b/src/main/java/io/company/localhost/service/NetprojctService.java index 5b6dbc4..4a9ef43 100644 --- a/src/main/java/io/company/localhost/service/NetprojctService.java +++ b/src/main/java/io/company/localhost/service/NetprojctService.java @@ -175,4 +175,8 @@ public class NetprojctService { return netprojctMapper.selectUserProjectPeriod(projctSeq); } + public List selectUserProjectPeriod2(int memberSeq) { + return netprojctMapper.selectUserProjectPeriod2(memberSeq); + } + } diff --git a/src/main/resources/mapper/NetprojctMapper.xml b/src/main/resources/mapper/NetprojctMapper.xml index cb472a7..af492f7 100644 --- a/src/main/resources/mapper/NetprojctMapper.xml +++ b/src/main/resources/mapper/NetprojctMapper.xml @@ -116,35 +116,65 @@ + SELECT + m.MEMBERSEQ, + m.MEMBERNAM, + p.PROJCTSEQ, + p.PROJCTNAM, + p.PROJCTSTR AS projectStartDate, + p.PROJCTEND AS projectEndDate, + COALESCE(( + SELECT MIN(c2.COMMUTDAY) + FROM commuters c2 + WHERE c2.PROJCTSEQ = p.PROJCTSEQ + AND c2.MEMBERSEQ = m.MEMBERSEQ + ), p.PROJCTSTR) AS userStartDate, + COALESCE(( + SELECT MAX(c2.COMMUTDAY) + FROM commuters c2 + WHERE c2.PROJCTSEQ = p.PROJCTSEQ + AND c2.MEMBERSEQ = m.MEMBERSEQ + ), p.PROJCTEND) AS userEndDate + FROM + netprojct p + LEFT JOIN + commuters c ON p.PROJCTSEQ = c.PROJCTSEQ + LEFT JOIN + netmember m ON c.MEMBERSEQ = m.MEMBERSEQ + WHERE + p.PROJCTSEQ = #{projectSeq} + GROUP BY + m.MEMBERSEQ, m.MEMBERNAM, p.PROJCTSEQ, p.PROJCTNAM, p.PROJCTSTR, p.PROJCTEND + + + + +