프로젝트 수정

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
public interface PromemberMapper {
int insertProjectMember(Integer projctSeq);
int insertProjectMember(MapDto map);
int updateProjectMembers(MapDto map);
int insertNewMemberToProjects(Integer memberSeq);

View File

@ -16,6 +16,7 @@ package io.company.localhost.service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
@ -55,6 +56,46 @@ public class NetprojctService {
public int insertProject(MapDto map) {
map.put("projctCdt", LocalDateTime.now());
int result = netprojctMapper.insertProject(map);
Integer color = map.getInt("projctCol");
// 컬러 업데이트
MapDto colorMap = new MapDto();
colorMap.put("color", color);
colorMap.put("type", "YNP");
commoncodMapper.updateColorYon(colorMap);
Integer projctSeq = map.getInt("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;
}
/**
* 프로젝트 수정
*
* @param map
* @return
*/
/**
* 프로젝트 수정
*
* @param map
* @return
*/
public boolean updateProject(MapDto map) {
map.put("projctUdt", LocalDateTime.now());
boolean result = netprojctMapper.updateProject(map) > 0;
Integer color = map.getInt("projctCol");
@ -64,45 +105,29 @@ public class NetprojctService {
commoncodMapper.updateColorYon(colorMap);
Integer projctSeq = map.getInt("PROJCTSEQ");
promemberMapper.insertProjectMember(projctSeq);
return result;
}
/**
* 프로젝트 수정
*
* @param map
* @return
*/
public boolean updateProject(MapDto map) {
map.put("projctUdt", LocalDateTime.now());
boolean result = netprojctMapper.updateProject(map) > 0;
Integer color = map.getInt("projctCol");
MapDto colorMap = new MapDto();
colorMap.put("color", color);
colorMap.put("type", "YNP");
commoncodMapper.updateColorYon(colorMap);
Integer originalColor = map.getInt("originalColor");
if(originalColor != null) {
MapDto OldColorMap = new MapDto();
OldColorMap.put("color", originalColor);
OldColorMap.put("type", "YNP");
MapDto OldColorMap = new MapDto();
OldColorMap.put("color", originalColor);
OldColorMap.put("type", "YNP");
commoncodMapper.updateColorChange(OldColorMap);
commoncodMapper.updateColorChange(OldColorMap);
}
// 멤버 상태 업데이트
Integer projctSeq = map.getInt("projctSeq");
List<Integer> disabledMembers = (List<Integer>) map.get("disabledMembers");
if (disabledMembers != null) {
MapDto memberMap = new MapDto();
memberMap.put("projctSeq", projctSeq);
memberMap.put("disabledMembers", disabledMembers);
promemberMapper.updateProjectMembers(memberMap);
}
return result;
}
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">
<mapper namespace="io.company.localhost.mapper.PromemberMapper">
<!-- 프로젝트 등록 후 모든 사용자 자동 참여 -->
<!-- 프로젝트 등록 후 모든 사용자 참여 -->
<insert id="insertProjectMember">
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>
<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 INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)