프로젝트 수정

This commit is contained in:
yoon 2025-03-20 10:08:18 +09:00
parent e411a0a567
commit ed7623c448
3 changed files with 77 additions and 24 deletions

View File

@ -23,7 +23,9 @@ import io.company.localhost.common.dto.MapDto;
@Mapper @Mapper
public interface PromemberMapper { public interface PromemberMapper {
int insertProjectMember(Integer projctSeq); int insertProjectMember(MapDto map);
int updateProjectMembers(MapDto map);
int insertNewMemberToProjects(Integer memberSeq); int insertNewMemberToProjects(Integer memberSeq);

View File

@ -16,6 +16,7 @@ package io.company.localhost.service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -55,22 +56,37 @@ public class NetprojctService {
public int insertProject(MapDto map) { public int insertProject(MapDto map) {
map.put("projctCdt", LocalDateTime.now()); map.put("projctCdt", LocalDateTime.now());
int result = netprojctMapper.insertProject(map); int result = netprojctMapper.insertProject(map);
Integer color = map.getInt("projctCol"); Integer color = map.getInt("projctCol");
// 컬러 업데이트
MapDto colorMap = new MapDto(); MapDto colorMap = new MapDto();
colorMap.put("color", color); colorMap.put("color", color);
colorMap.put("type", "YNP"); colorMap.put("type", "YNP");
commoncodMapper.updateColorYon(colorMap); commoncodMapper.updateColorYon(colorMap);
Integer projctSeq = map.getInt("PROJCTSEQ"); Integer projctSeq = map.getInt("PROJCTSEQ");
promemberMapper.insertProjectMember(projctSeq); // 비활성화된 사용자 목록 받아오기
List<Integer> disabledMembers = (List<Integer>) map.get("disabledMembers");
// 프로젝트 멤버 추가 (비활성화된 사용자 정보 포함)
MapDto paramMap = new MapDto();
paramMap.put("projctSeq", projctSeq);
paramMap.put("disabledMembers", disabledMembers);
promemberMapper.insertProjectMember(paramMap);
return result; return result;
} }
/**
* 프로젝트 수정
*
* @param map
* @return
*/
/** /**
* 프로젝트 수정 * 프로젝트 수정
* *
@ -78,31 +94,40 @@ public class NetprojctService {
* @return * @return
*/ */
public boolean updateProject(MapDto map) { public boolean updateProject(MapDto map) {
map.put("projctUdt", LocalDateTime.now()); map.put("projctUdt", LocalDateTime.now());
boolean result = netprojctMapper.updateProject(map) > 0; boolean result = netprojctMapper.updateProject(map) > 0;
Integer color = map.getInt("projctCol"); Integer color = map.getInt("projctCol");
MapDto colorMap = new MapDto(); MapDto colorMap = new MapDto();
colorMap.put("color", color); colorMap.put("color", color);
colorMap.put("type", "YNP"); colorMap.put("type", "YNP");
commoncodMapper.updateColorYon(colorMap); commoncodMapper.updateColorYon(colorMap);
Integer originalColor = map.getInt("originalColor"); Integer originalColor = map.getInt("originalColor");
if(originalColor != null) { if(originalColor != null) {
MapDto OldColorMap = new MapDto(); MapDto OldColorMap = new MapDto();
OldColorMap.put("color", originalColor); OldColorMap.put("color", originalColor);
OldColorMap.put("type", "YNP"); OldColorMap.put("type", "YNP");
commoncodMapper.updateColorChange(OldColorMap); commoncodMapper.updateColorChange(OldColorMap);
} }
// 멤버 상태 업데이트
Integer projctSeq = map.getInt("projctSeq");
List<Integer> disabledMembers = (List<Integer>) map.get("disabledMembers");
return result; if (disabledMembers != null) {
} MapDto memberMap = new MapDto();
memberMap.put("projctSeq", projctSeq);
memberMap.put("disabledMembers", disabledMembers);
promemberMapper.updateProjectMembers(memberMap);
}
return result;
}
/** /**

View File

@ -2,12 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.company.localhost.mapper.PromemberMapper"> <mapper namespace="io.company.localhost.mapper.PromemberMapper">
<!-- 프로젝트 등록 후 모든 사용자 자동 참여 --> <!-- 프로젝트 등록 후 모든 사용자 참여 -->
<insert id="insertProjectMember"> <insert id="insertProjectMember">
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON) INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)
SELECT #{projctSeq}, MEMBERSEQ, '1' FROM netmember; SELECT
#{projctSeq},
MEMBERSEQ,
CASE
WHEN MEMBERSEQ IN
<foreach item="member" collection="disabledMembers" open="(" separator="," close=")">
#{member}
</foreach>
THEN '0'
ELSE '1'
END
FROM netmember;
</insert> </insert>
<update id="updateProjectMembers">
UPDATE promember
SET PROJCTYON =
CASE
WHEN MEMBERSEQ IN
<foreach item="member" collection="disabledMembers" open="(" separator="," close=")">
#{member}
</foreach>
THEN '0'
ELSE '1'
END
WHERE PROJCTSEQ = #{projctSeq}
</update>
<!-- 새로 가입한 회원 모든 프로젝트 멤버에 미참여 상태로 추가 --> <!-- 새로 가입한 회원 모든 프로젝트 멤버에 미참여 상태로 추가 -->
<insert id="insertNewMemberToProjects"> <insert id="insertNewMemberToProjects">
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON) INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)