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

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

View File

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

View File

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

View File

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

View File

@ -4,15 +4,37 @@
<!-- 프로젝트 목록 조회 --> <!-- 프로젝트 목록 조회 -->
<select id="selectProject" parameterType="map" resultType="io.company.localhost.common.dto.MapDto"> <select id="selectProject" parameterType="map" resultType="io.company.localhost.common.dto.MapDto">
SELECT SELECT DISTINCT
p.*, p.*,
c .CMNCODNAM AS projctcolor c.CMNCODNAM AS projctcolor
FROM netprojct p FROM netprojct p
LEFT JOIN commoncod c ON p.PROJCTCOL = c.CMNCODVAL LEFT JOIN commoncod c ON p.PROJCTCOL = c.CMNCODVAL
LEFT JOIN promember pm ON p.PROJCTSEQ = pm.PROJCTSEQ
WHERE c.CMNCODYON = '1' 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 ORDER BY p.PROJCTSEQ DESC
</select> </select>
<!-- 프로젝트 등록 --> <!-- 프로젝트 등록 -->
<insert id="insertProject" useGeneratedKeys="true" keyProperty="PROJCTSEQ"> <insert id="insertProject" useGeneratedKeys="true" keyProperty="PROJCTSEQ">
INSERT INTO netprojct ( INSERT INTO netprojct (