프로젝트 목록 검색 + 카테고리

This commit is contained in:
yoon 2025-02-21 09:18:20 +09:00
parent b8bee16816
commit b538979ed6
5 changed files with 52 additions and 20 deletions

View File

@ -49,7 +49,7 @@ public class ProjectController {
/**
* 프로젝트 연도 조회
*
* @return ApiResponse<List<MapDto>>
* @return
*
*/
@ParameterCheck
@ -62,13 +62,16 @@ public class ProjectController {
/**
* 프로젝트 목록 조회
*
* * @return ApiResponse<List<MapDto>>
* @param projectName 프로젝트 이름
* @param participantSeq 참여자 번호
* @param address 주소 정보 (주소, 상세주소, 우편번호
* @return
*
*/
@ParameterCheck
@GetMapping("/select")
public ApiResponse<MapDto> selectProject() {
List<MapDto> projectList = netprojctService.selectProject();
public ApiResponse<MapDto> selectProject(@ReqMap MapDto map) {
List<MapDto> projectList = netprojctService.selectProject(map);
MapDto outData = new MapDto();
outData.put("projectList", projectList);
@ -80,7 +83,7 @@ public class ProjectController {
* 프로젝트 등록
*
* @param map
* @return ApiResponse<Integer>
* @return
*/
@PostMapping("/insert")
public ApiResponse<Integer> insertProject(@ReqMap MapDto map) {
@ -92,7 +95,7 @@ public class ProjectController {
* 프로젝트 수정
*
* @param map
* @return ApiResponse<Boolean>
* @return
*
*/
@PatchMapping("/update")
@ -106,7 +109,7 @@ public class ProjectController {
* 비밀번호 재설정
*
* @param map
* @return ApiResponse<Boolean>
* @return
*
*/
@PatchMapping("/updateYon")
@ -118,7 +121,7 @@ public class ProjectController {
/**
* 프로젝트 멤버리스트 조회
*
* * @return ApiResponse<List<MapDto>>
* @return
*
*/
@ParameterCheck
@ -131,7 +134,7 @@ public class ProjectController {
/**
* 프로젝트 log 조회
*
* * @return ApiResponse<List<MapDto>>
* @return
*
*/
@ParameterCheck

View File

@ -23,7 +23,7 @@ import io.company.localhost.common.dto.MapDto;
@Mapper
public interface NetprojctMapper {
List<MapDto> selectProject();
List<MapDto> selectProject(MapDto map);
int insertProject(MapDto map);

View File

@ -38,8 +38,8 @@ public class NetprojctService {
* @param
* @return
*/
public List<MapDto> selectProject() {
return netprojctMapper.selectProject();
public List<MapDto> selectProject(MapDto map) {
return netprojctMapper.selectProject(map);
}
@ -78,7 +78,7 @@ public class NetprojctService {
map.put("projctUdt", LocalDateTime.now());
boolean result = netprojctMapper.updateProject(map) > 0;
String color = map.getString("projctCol");
Integer color = map.getInt("projctCol");
MapDto colorMap = new MapDto();
colorMap.put("color", color);
@ -86,10 +86,17 @@ public class NetprojctService {
commoncodMapper.updateColorYon(colorMap);
MapDto OldColorMap = new MapDto();
colorMap.put("oldColor", color);
colorMap.put("type", "YNP");
commoncodMapper.updateColorChange(OldColorMap);
Integer originalColor = map.getInt("originalColor");
if(originalColor != null) {
MapDto OldColorMap = new MapDto();
OldColorMap.put("color", originalColor);
OldColorMap.put("type", "YNP");
commoncodMapper.updateColorChange(OldColorMap);
}
return result;
}

View File

@ -93,7 +93,7 @@
<if test="type == 'YNP'">
CMNCODYNP = 0
</if>
WHERE CMNCODVAL = #{color};
WHERE CMNCODVAL = #{color}
</update>
<select id="selectCategories" resultType="Map">

View File

@ -4,15 +4,37 @@
<!-- 프로젝트 목록 조회 -->
<select id="selectProject" parameterType="map" resultType="io.company.localhost.common.dto.MapDto">
SELECT
SELECT DISTINCT
p.*,
c .CMNCODNAM AS projctcolor
c.CMNCODNAM AS projctcolor
FROM netprojct p
LEFT JOIN commoncod c ON p.PROJCTCOL = c.CMNCODVAL
LEFT JOIN promember pm ON p.PROJCTSEQ = pm.PROJCTSEQ
WHERE c.CMNCODYON = '1'
<if test="searchKeyword != null and searchKeyword != ''">
AND (
p.PROJCTNAM LIKE CONCAT('%', #{searchKeyword}, '%')
OR EXISTS (
SELECT 1
FROM promember pm2
JOIN netmember m ON pm2.MEMBERSEQ = m.MEMBERSEQ
WHERE pm2.PROJCTSEQ = p.PROJCTSEQ
AND pm2.PROJCTYON = '1'
AND m.membernam LIKE CONCAT('%', #{searchKeyword}, '%')
)
OR p.PROJCTARR LIKE CONCAT('%', #{searchKeyword}, '%')
OR p.PROJCTDTL LIKE CONCAT('%', #{searchKeyword}, '%')
OR p.PROJCTZIP LIKE CONCAT('%', #{searchKeyword}, '%')
)
</if>
<if test="category != null and category != ''">
AND SUBSTRING(p.PROJCTSTR, 1, 4) = #{category}
</if>
ORDER BY p.PROJCTSEQ DESC
</select>
<!-- 프로젝트 등록 -->
<insert id="insertProject" useGeneratedKeys="true" keyProperty="PROJCTSEQ">
INSERT INTO netprojct (