삭제 추가

This commit is contained in:
yoon 2025-02-27 13:24:06 +09:00
parent 41372391de
commit ebab4bb51e
4 changed files with 64 additions and 18 deletions

View File

@ -17,14 +17,13 @@ package io.company.localhost.controller.api;
import java.util.List; import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import io.company.localhost.common.annotation.ParameterCheck; import io.company.localhost.common.annotation.ParameterCheck;
import io.company.localhost.common.annotation.ReqMap; import io.company.localhost.common.annotation.ReqMap;
@ -33,8 +32,6 @@ import io.company.localhost.common.dto.MapDto;
import io.company.localhost.service.NetprojctService; import io.company.localhost.service.NetprojctService;
import io.company.localhost.service.ProMemberService; import io.company.localhost.service.ProMemberService;
import io.company.localhost.service.commoncodService; import io.company.localhost.service.commoncodService;
import io.company.localhost.utils.AuthUtil;
import io.company.localhost.vo.MemberVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -146,4 +143,18 @@ public class ProjectController {
return ApiResponse.ok(netprojctService.selectProjectLog(projctSeq)); return ApiResponse.ok(netprojctService.selectProjectLog(projctSeq));
} }
/**
* 프로젝트 삭제
*
* @return
*
*/
@ParameterCheck
@PatchMapping("/delete")
public ApiResponse<Boolean> deleteProject(@ReqMap MapDto map) {
boolean isDelete = netprojctService.deleteProject(map);
return ApiResponse.ok(isDelete);
}
} }

View File

@ -30,4 +30,6 @@ public interface NetprojctMapper {
int updateProject(MapDto map); int updateProject(MapDto map);
List<MapDto> selectProjectLog(int projctSeq); List<MapDto> selectProjectLog(int projctSeq);
int deleteProject(MapDto map);
} }

View File

@ -14,12 +14,13 @@
*************************************************************/ *************************************************************/
package io.company.localhost.service; package io.company.localhost.service;
import java.math.BigInteger;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import io.company.localhost.common.annotation.ReqMap;
import io.company.localhost.common.dto.MapDto; import io.company.localhost.common.dto.MapDto;
import io.company.localhost.mapper.NetprojctMapper; import io.company.localhost.mapper.NetprojctMapper;
import io.company.localhost.mapper.PromemberMapper; import io.company.localhost.mapper.PromemberMapper;
@ -114,5 +115,25 @@ public class NetprojctService {
return netprojctMapper.selectProjectLog(projctSeq); return netprojctMapper.selectProjectLog(projctSeq);
} }
/**
* 프로젝트 삭제
*
* @param
* @return
*/
public boolean deleteProject(MapDto map) {
boolean result = netprojctMapper.deleteProject(map) > 0;
Integer color = map.getInt("projctCol");
MapDto colorMap = new MapDto();
colorMap.put("color", color);
colorMap.put("type", "YNP");
commoncodMapper.updateColorChange(colorMap);
return result;
}
} }

View File

@ -8,9 +8,9 @@
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 AND c.CMNCODYNP = '1'
LEFT JOIN promember pm ON p.PROJCTSEQ = pm.PROJCTSEQ LEFT JOIN promember pm ON p.PROJCTSEQ = pm.PROJCTSEQ
WHERE c.CMNCODYON = '1' WHERE 1=1
<if test="searchKeyword != null and searchKeyword != ''"> <if test="searchKeyword != null and searchKeyword != ''">
AND ( AND (
p.PROJCTNAM LIKE CONCAT('%', #{searchKeyword}, '%') p.PROJCTNAM LIKE CONCAT('%', #{searchKeyword}, '%')
@ -80,17 +80,29 @@
<!-- 프로젝트 로그 조회 --> <!-- 프로젝트 로그 조회 -->
<select id="selectProjectLog" parameterType="int" resultType="map"> <select id="selectProjectLog" parameterType="int" resultType="map">
SELECT SELECT logDate, logMessage
DATE_FORMAT(PROJCTCDT, '%Y-%m-%d %H:%i') as createDate, FROM (
PROJCTCMB as creator, SELECT
CASE DATE_FORMAT(PROJCTCDT, '%Y-%m-%d %H:%i') AS logDate,
WHEN PROJCTUDT IS NOT NULL THEN DATE_FORMAT(PROJCTUDT, '%Y-%m-%d %H:%i') CONCAT('[', PROJCTCMB, '] 프로젝트 등록') AS logMessage
ELSE NULL FROM netprojct
END as updateDate, WHERE PROJCTSEQ = #{projctSeq}
PROJCTUMB as updater
FROM netprojct UNION ALL
WHERE PROJCTSEQ = #{projctSeq}
SELECT
DATE_FORMAT(PROJCTUDT, '%Y-%m-%d %H:%i') AS logDate,
CONCAT('[', PROJCTUMB, '] 프로젝트 수정') AS logMessage
FROM netprojct
WHERE PROJCTSEQ = #{projctSeq} AND PROJCTUDT IS NOT NULL
) AS logs
ORDER BY logDate DESC;
</select> </select>
<!-- 프로젝트 삭제 -->
<delete id="deleteProject">
DELETE FROM netprojct WHERE PROJCTSEQ = #{projctSeq}
</delete>
</mapper> </mapper>