|
@@ -0,0 +1,154 @@
|
|
|
+package com.jeeplus.test.program.configuration.projectList.service;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.jeeplus.sys.service.dto.UserDTO;
|
|
|
+import com.jeeplus.sys.utils.StringUtils;
|
|
|
+import com.jeeplus.sys.utils.UserUtils;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectLinkMapper;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectListMapper;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.mapper.ProjectMemberMapper;
|
|
|
+import com.jeeplus.test.program.configuration.projectList.service.dto.ProjectListDto;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.UUID;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class ProjectListService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ProjectListMapper projectListMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectLinkMapper projectLinkMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectMemberMapper projectMemberMapper;
|
|
|
+
|
|
|
+ public String save(ProjectListDto dto){
|
|
|
+ if (StringUtils.isNotEmpty(dto.getId())) {
|
|
|
+ return update(dto);
|
|
|
+ }
|
|
|
+ return add(dto);
|
|
|
+ }
|
|
|
+
|
|
|
+ public String add(ProjectListDto dto) {
|
|
|
+ ProgramProjectListInfo info = new ProgramProjectListInfo();
|
|
|
+ //获取当前登录人信息
|
|
|
+ UserDTO userDTO = UserUtils.getCurrentUserDTO();
|
|
|
+ // 保存项目管理列表主表信息
|
|
|
+ BeanUtils.copyProperties(dto, info);
|
|
|
+ String id = UUID.randomUUID().toString().replace("-", "");
|
|
|
+ info.setId(id);
|
|
|
+ info.setCreateBy(userDTO.getId());
|
|
|
+ info.setCreateDate(new Date());
|
|
|
+ info.setUpdateBy(userDTO.getId());
|
|
|
+ info.setUpdateDate(new Date());
|
|
|
+ info.setDelFlag(0);
|
|
|
+ projectListMapper.insert(info);
|
|
|
+ // 保存项目管理列表联系人信息
|
|
|
+ if (CollectionUtils.isNotEmpty(dto.getLinks())) {
|
|
|
+ for (ProgramProjectListLink link : dto.getLinks()) {
|
|
|
+ link.setId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ link.setInfoId(id);
|
|
|
+ link.setCreateBy(userDTO.getId());
|
|
|
+ link.setCreateDate(new Date());
|
|
|
+ link.setUpdateBy(userDTO.getId());
|
|
|
+ link.setUpdateDate(new Date());
|
|
|
+ link.setDelFlag(0);
|
|
|
+ projectLinkMapper.insert(link);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 保存项目管理列表成员信息
|
|
|
+ if (CollectionUtils.isNotEmpty(dto.getMembers())) {
|
|
|
+ for (ProgramProjectListMember member : dto.getMembers()) {
|
|
|
+ member.setId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ member.setInfoId(id);
|
|
|
+ member.setCreateBy(userDTO.getId());
|
|
|
+ member.setCreateDate(new Date());
|
|
|
+ member.setUpdateBy(userDTO.getId());
|
|
|
+ member.setUpdateDate(new Date());
|
|
|
+ member.setDelFlag(0);
|
|
|
+ projectMemberMapper.insert(member);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "操作成功";
|
|
|
+ }
|
|
|
+
|
|
|
+ public String update(ProjectListDto dto) {
|
|
|
+ //获取当前登录人信息
|
|
|
+ UserDTO userDTO = UserUtils.getCurrentUserDTO();
|
|
|
+ // 修改项目管理列表主表信息
|
|
|
+ ProgramProjectListInfo info = new ProgramProjectListInfo();
|
|
|
+ BeanUtils.copyProperties(dto, info);
|
|
|
+ info.setUpdateBy(userDTO.getId());
|
|
|
+ info.setUpdateDate(new Date());
|
|
|
+ info.setDelFlag(0);
|
|
|
+ projectListMapper.updateById(info);
|
|
|
+ // 修改项目管理列表联系人信息(先删除原有数据,再保存)
|
|
|
+ if (CollectionUtils.isNotEmpty(dto.getLinks())) {
|
|
|
+ projectLinkMapper.deleteByInfoId(dto.getId());
|
|
|
+ for (ProgramProjectListLink link : dto.getLinks()) {
|
|
|
+ link.setId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ link.setInfoId(dto.getId());
|
|
|
+ link.setCreateBy(userDTO.getId());
|
|
|
+ link.setCreateDate(new Date());
|
|
|
+ link.setUpdateBy(userDTO.getId());
|
|
|
+ link.setUpdateDate(new Date());
|
|
|
+ link.setDelFlag(0);
|
|
|
+ projectLinkMapper.insert(link);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 修改项目管理列表成员信息(先删除原有数据,再保存)
|
|
|
+ if (CollectionUtils.isNotEmpty(dto.getMembers())) {
|
|
|
+ projectMemberMapper.deleteByInfoId(dto.getId());
|
|
|
+ for (ProgramProjectListMember member : dto.getMembers()) {
|
|
|
+ member.setId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ member.setInfoId(dto.getId());
|
|
|
+ member.setCreateBy(userDTO.getId());
|
|
|
+ member.setCreateDate(new Date());
|
|
|
+ member.setUpdateBy(userDTO.getId());
|
|
|
+ member.setUpdateDate(new Date());
|
|
|
+ member.setDelFlag(0);
|
|
|
+ projectMemberMapper.insert(member);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "操作成功";
|
|
|
+ }
|
|
|
+
|
|
|
+ public ProjectListDto findById(String id) {
|
|
|
+ ProjectListDto dto = new ProjectListDto();
|
|
|
+ // 查询主表信息
|
|
|
+ ProgramProjectListInfo info = projectListMapper.selectById(id);
|
|
|
+ BeanUtils.copyProperties(info, dto);
|
|
|
+ // 查询联系人列表
|
|
|
+ LambdaQueryWrapper<ProgramProjectListLink> linkWrapper = new LambdaQueryWrapper<>();
|
|
|
+ linkWrapper.eq(ProgramProjectListLink::getInfoId, id);
|
|
|
+ linkWrapper.eq(ProgramProjectListLink::getDelFlag, 0);
|
|
|
+ List<ProgramProjectListLink> links = projectLinkMapper.selectList(linkWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(links)) {
|
|
|
+ dto.setLinks(links);
|
|
|
+ }
|
|
|
+ // 查询成员列表
|
|
|
+ LambdaQueryWrapper<ProgramProjectListMember> memberWrapper = new LambdaQueryWrapper<>();
|
|
|
+ memberWrapper.eq(ProgramProjectListMember::getInfoId, id);
|
|
|
+ memberWrapper.eq(ProgramProjectListMember::getDelFlag, 0);
|
|
|
+ List<ProgramProjectListMember> members = projectMemberMapper.selectList(memberWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(members)) {
|
|
|
+ dto.setMembers(members);
|
|
|
+ }
|
|
|
+ return dto;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String deleteById(String id) {
|
|
|
+ projectListMapper.deleteById(id);
|
|
|
+ projectLinkMapper.deleteByInfoId(id);
|
|
|
+ projectMemberMapper.deleteByInfoId(id);
|
|
|
+ return "操作成功";
|
|
|
+ }
|
|
|
+}
|