ee
All checks were successful
LOCALNET-DEV/pipeline/head This commit looks good

This commit is contained in:
dyhj625 2025-04-14 10:52:39 +09:00
parent 18cf7d1a62
commit f1b3f1d953
4 changed files with 74 additions and 30 deletions

View File

@ -180,4 +180,11 @@ public class ProjectController {
return ApiResponse.ok(netprojctService.selectUserProjectPeriod(projctSeq)); return ApiResponse.ok(netprojctService.selectUserProjectPeriod(projctSeq));
} }
@ParameterCheck
@GetMapping("/people/{memberSeq}")
public ApiResponse<List<MapDto>> selectUserProjectPeriod2(@PathVariable int memberSeq) {
return ApiResponse.ok(netprojctService.selectUserProjectPeriod2(memberSeq));
}
} }

View File

@ -34,4 +34,7 @@ public interface NetprojctMapper {
int deleteProject(MapDto map); int deleteProject(MapDto map);
List<MapDto> selectUserProjectPeriod(int projectSeq); List<MapDto> selectUserProjectPeriod(int projectSeq);
List<MapDto> selectUserProjectPeriod2(int memberSeq);
} }

View File

@ -175,4 +175,8 @@ public class NetprojctService {
return netprojctMapper.selectUserProjectPeriod(projctSeq); return netprojctMapper.selectUserProjectPeriod(projctSeq);
} }
public List<MapDto> selectUserProjectPeriod2(int memberSeq) {
return netprojctMapper.selectUserProjectPeriod2(memberSeq);
}
} }

View File

@ -121,30 +121,60 @@
m.MEMBERNAM, m.MEMBERNAM,
p.PROJCTSEQ, p.PROJCTSEQ,
p.PROJCTNAM, p.PROJCTNAM,
p.PROJCTSTR as projectStartDate, p.PROJCTSTR AS projectStartDate,
p.PROJCTEND as projectEndDate, p.PROJCTEND AS projectEndDate,
( COALESCE((
SELECT MIN(c2.COMMUTDAY) SELECT MIN(c2.COMMUTDAY)
FROM commuters c2 FROM commuters c2
WHERE c2.PROJCTSEQ = p.PROJCTSEQ WHERE c2.PROJCTSEQ = p.PROJCTSEQ
AND c2.MEMBERSEQ = m.MEMBERSEQ AND c2.MEMBERSEQ = m.MEMBERSEQ
) as userStartDate, ), p.PROJCTSTR) AS userStartDate,
( COALESCE((
SELECT MAX(c2.COMMUTDAY) SELECT MAX(c2.COMMUTDAY)
FROM commuters c2 FROM commuters c2
WHERE c2.PROJCTSEQ = p.PROJCTSEQ WHERE c2.PROJCTSEQ = p.PROJCTSEQ
AND c2.MEMBERSEQ = m.MEMBERSEQ AND c2.MEMBERSEQ = m.MEMBERSEQ
) as userEndDate ), p.PROJCTEND) AS userEndDate
FROM FROM
netprojct p netprojct p
INNER JOIN LEFT JOIN
commuters c ON p.PROJCTSEQ = c.PROJCTSEQ commuters c ON p.PROJCTSEQ = c.PROJCTSEQ
INNER JOIN LEFT JOIN
netmember m ON c.MEMBERSEQ = m.MEMBERSEQ netmember m ON c.MEMBERSEQ = m.MEMBERSEQ
WHERE WHERE
p.PROJCTSEQ = #{projectSeq} p.PROJCTSEQ = #{projectSeq}
GROUP BY GROUP BY
m.MEMBERSEQ, p.PROJCTSEQ m.MEMBERSEQ, m.MEMBERNAM, p.PROJCTSEQ, p.PROJCTNAM, p.PROJCTSTR, p.PROJCTEND
</select> </select>
<select id="selectUserProjectPeriod2" resultType="io.company.localhost.common.dto.MapDto">
SELECT
pm.MEMBERSEQ,
p.PROJCTSEQ,
p.PROJCTNAM,
p.PROJCTSTR AS projectStartDate,
p.PROJCTEND AS projectEndDate,
(
SELECT MIN(c2.COMMUTDAY)
FROM commuters c2
WHERE c2.PROJCTSEQ = p.PROJCTSEQ
AND c2.MEMBERSEQ = pm.MEMBERSEQ
) AS userStartDate,
CASE
WHEN p.PROJCTEND IS NOT NULL THEN (
SELECT MAX(c2.COMMUTDAY)
FROM commuters c2
WHERE c2.PROJCTSEQ = p.PROJCTSEQ
AND c2.MEMBERSEQ = pm.MEMBERSEQ
)
ELSE NULL
END AS userEndDate
FROM promember pm
INNER JOIN netprojct p ON pm.PROJCTSEQ = p.PROJCTSEQ
WHERE pm.MEMBERSEQ = #{memberSeq}
AND pm.PROJCTYON = 1
</select>
</mapper> </mapper>