Browse Source

20220323删除项目的全部信息

contest
zy_Java 3 years ago
parent
commit
df5530fea9
  1. 169
      src/main/java/com/ccsens/ptccsens/service/TallService.java

169
src/main/java/com/ccsens/ptccsens/service/TallService.java

@ -8,14 +8,12 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.ccsens.ptccsens.bean.dto.FinanceDto;
import com.ccsens.ptccsens.bean.po.ProRole;
import com.ccsens.ptccsens.bean.po.ProTaskDetail;
import com.ccsens.ptccsens.bean.po.ProTaskSub;
import com.ccsens.ptccsens.bean.po.ProUser;
import com.ccsens.ptccsens.bean.po.*;
import com.ccsens.ptccsens.bean.vo.ClockingInVo;
import com.ccsens.ptccsens.bean.vo.DeliverVo;
import com.ccsens.ptccsens.bean.vo.FinanceVo;
import com.ccsens.ptccsens.persist.dao.*;
import com.ccsens.ptccsens.persist.mapper.*;
import com.ccsens.ptccsens.util.BasicsCodeError;
import com.ccsens.ptccsens.util.Constant;
import com.ccsens.util.CodeEnum;
@ -84,6 +82,29 @@ public class TallService implements ITallService {
private IExportService exportService;
@Resource
private PowerService powerService;
@Resource
private ProTaskVersionDao taskVersionDao;
@Resource
private LabelBusinessDao labelBusinessDao;
@Resource
private ProTaskShareMapper taskShareMapper;
@Resource
private ProMemberStakeholderDao memberStakeholderDao;
@Resource
private ProRoleShowMapper roleShowMapper;
@Resource
private ProParentTaskDao parentTaskDao;
@Resource
private ProTaskFlowMapper taskFlowMapper;
@Resource
private ProTaskProcessMapper taskProcessMapper;
@Resource
private ProTaskStatusRecordMapper taskStatusRecordMapper;
@Resource
private ProTaskNotifyMapper proTaskNotifyMapper;
@Resource
private ProTaskPanelInfoMapper taskPanelInfoMapper;
@SneakyThrows
@Override
@ -774,6 +795,9 @@ public class TallService implements ITallService {
return queryTaskList;
}
@Override
public void deleteProject(String token, TallProjectDto.ProjectById params) {
//根据token获取用户信息
@ -799,7 +823,140 @@ public class TallService implements ITallService {
project.setId(params.getProjectId());
project.setRecStatus((byte) 2);
taskDetailDao.updateByPrimaryKeySelective(project);
//删除任务
//删除角色
//删除之前的项目分解
ProTaskSubExample taskSubExample = new ProTaskSubExample();
taskSubExample.createCriteria().andTaskDetailIdEqualTo(params.getProjectId());
ProTaskSub taskSub = new ProTaskSub();
taskSub.setRecStatus((byte)2);
proTaskSubDao.updateByExampleSelective(taskSub,taskSubExample);
//删除之前的版本信息
ProTaskVersion taskVersion = new ProTaskVersion();
taskVersion.setRecStatus((byte)2);
ProTaskVersionExample taskVersionExample = new ProTaskVersionExample();
taskVersionExample.createCriteria().andTaskDetailIdEqualTo(params.getProjectId());
taskVersionDao.updateByExampleSelective(taskVersion,taskVersionExample);
//删除项目标签相关的
LabelBusiness labelBusiness = new LabelBusiness();
labelBusiness.setRecStatus((byte)2);
LabelBusinessExample labelBusinessExample = new LabelBusinessExample();
labelBusinessExample.createCriteria().andBusinessIdEqualTo(params.getProjectId());
labelBusinessDao.updateByExampleSelective(labelBusiness,labelBusinessExample);
//删除项目分享表
ProTaskShare taskShare = new ProTaskShare();
taskShare.setRecStatus((byte)2);
ProTaskShareExample taskShareExample = new ProTaskShareExample();
taskShareExample.createCriteria().andOriginalProjectIdEqualTo(params.getProjectId());
taskShareMapper.updateByExampleSelective(taskShare,taskShareExample);
//删除角色和成员
List<Long> roleIdList = roleDao.queryRoleListOfProject(project.getId());
ProRole role = new ProRole();
role.setRecStatus((byte)2);
ProRoleExample roleExample = new ProRoleExample();
roleExample.createCriteria().andIdIn(roleIdList);
roleDao.updateByExampleSelective(role,roleExample);
List<Long> memberIdList = memberDao.queryMembersOfProject(project.getId());
ProMember member = new ProMember();
member.setRecStatus((byte)2);
ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andIdIn(memberIdList);
memberDao.updateByExampleSelective(member,memberExample);
//删除奖惩干系人
ProMemberStakeholder memberStakeholder = new ProMemberStakeholder();
memberStakeholder.setRecStatus((byte)2);
ProMemberStakeholderExample memberStakeholderExample = new ProMemberStakeholderExample();
memberStakeholderExample.createCriteria().andMemeberIdIn(memberIdList);
memberStakeholderDao.updateByExampleSelective(memberStakeholder,memberStakeholderExample);
//删除对谁不可见
ProRoleRepulsion roleRepulsion = new ProRoleRepulsion();
roleRepulsion.setRecStatus((byte)2);
ProRoleRepulsionExample roleRepulsionExample = new ProRoleRepulsionExample();
roleRepulsionExample.createCriteria().andRoleIdIn(roleIdList);
roleRepulsionDao.updateByExampleSelective(roleRepulsion,roleRepulsionExample);
//删除角色成员关联
ProRoleMember roleMember = new ProRoleMember();
roleMember.setRecStatus((byte)2);
ProRoleMemberExample roleMemberExample = new ProRoleMemberExample();
roleMemberExample.createCriteria().andRoleIdIn(roleIdList);
roleMemberDao.updateByExampleSelective(roleMember,roleMemberExample);
//删除角色展示
ProRoleShow roleShow = new ProRoleShow();
roleShow.setRecStatus((byte)2);
ProRoleShowExample roleShowExample = new ProRoleShowExample();
roleShowExample.createCriteria().andRoleIdIn(roleIdList);
roleShowMapper.updateByExampleSelective(roleShow,roleShowExample);
//根据项目id查询所有一二级任务详情id 删除任务相关
List<Long> allTaskId = parentTaskDao.queryAllTaskIdByProjectId(params.getProjectId());
//删除所有的任务详情
ProTaskDetail taskDetail = new ProTaskDetail();
taskDetail.setRecStatus((byte)2);
ProTaskDetailExample taskDetailExample = new ProTaskDetailExample();
taskDetailExample.createCriteria().andIdIn(allTaskId);
taskDetailDao.updateByExampleSelective(taskDetail,taskDetailExample);
//删除所有的分解任务
ProTaskSub taskSub1 = new ProTaskSub();
taskSub1.setRecStatus((byte)2);
ProTaskSubExample taskSubExample1 = new ProTaskSubExample();
taskSubExample1.createCriteria().andTaskDetailIdIn(allTaskId);
List<ProTaskSub> taskSubList = proTaskSubDao.selectByExample(taskSubExample1);
List<Long> allSubTaskId = taskSubList.stream().map(ProTaskSub::getId).collect(Collectors.toList());
proTaskSubDao.updateByExampleSelective(taskSub1,taskSubExample1);
//删除所有的任务标签
LabelBusiness labelBusiness1 = new LabelBusiness();
labelBusiness1.setRecStatus((byte)2);
LabelBusinessExample labelBusinessExample1 = new LabelBusinessExample();
labelBusinessExample1.createCriteria().andBusinessIdIn(allTaskId);
labelBusinessDao.updateByExampleSelective(labelBusiness1,labelBusinessExample1);
//删除任务角色关联表
ProRoleTask roleTask = new ProRoleTask();
roleTask.setRecStatus((byte)2);
ProRoleTaskExample roleTaskExample = new ProRoleTaskExample();
roleTaskExample.createCriteria().andTaskIdIn(allTaskId);
roleTaskDao.updateByExampleSelective(roleTask,roleTaskExample);
//删除任务插件关联信息
ProTaskPlugin taskPlugin = new ProTaskPlugin();
taskPlugin.setRecStatus((byte)2);
ProTaskPluginExample taskPluginExample = new ProTaskPluginExample();
taskPluginExample.createCriteria().andTaskDetailIdIn(allTaskId);
taskPluginDao.updateByExampleSelective(taskPlugin,taskPluginExample);
//删除任务关系表
allTaskId.add(project.getId());
ProParentTask parentTask = new ProParentTask();
parentTask.setRecStatus((byte)2);
ProParentTaskExample parentTaskExample = new ProParentTaskExample();
parentTaskExample.createCriteria().andTaskDetailIdIn(allTaskId);
parentTaskDao.updateByExampleSelective(parentTask,parentTaskExample);
//删除任务流转表
ProTaskFlow taskFlow = new ProTaskFlow();
taskFlow.setRecStatus((byte)2);
ProTaskFlowExample taskFlowExample = new ProTaskFlowExample();
taskFlowExample.createCriteria().andTaskDetailIdIn(allTaskId);
taskFlowMapper.updateByExampleSelective(taskFlow,taskFlowExample);
//删除任务上下道工序
ProTaskProcess taskProcess = new ProTaskProcess();
taskProcess.setRecStatus((byte)2);
ProTaskProcessExample taskProcessExample = new ProTaskProcessExample();
taskProcessExample.createCriteria().andTaskDetailIdIn(allTaskId);
taskProcessMapper.updateByExampleSelective(taskProcess,taskProcessExample);
//删除任务状态记录表 分解任务id
ProTaskStatusRecord taskStatusRecord = new ProTaskStatusRecord();
taskStatusRecord.setRecStatus((byte)2);
ProTaskStatusRecordExample taskStatusRecordExample = new ProTaskStatusRecordExample();
taskStatusRecordExample.createCriteria().andTaskSubIdIn(allSubTaskId);
taskStatusRecordMapper.updateByExampleSelective(taskStatusRecord,taskStatusRecordExample);
//删除任务通知表
ProTaskNotify taskNotify = new ProTaskNotify();
taskNotify.setRecStatus((byte)2);
ProTaskNotifyExample taskNotifyExample = new ProTaskNotifyExample();
taskNotifyExample.createCriteria().andTaskDetailIdIn(allTaskId);
proTaskNotifyMapper.updateByExampleSelective(taskNotify,taskNotifyExample);
//删除任务面板信息
ProTaskPanelInfo taskPanelInfo = new ProTaskPanelInfo();
taskPanelInfo.setRecStatus((byte)2);
ProTaskPanelInfoExample taskPanelInfoExample = new ProTaskPanelInfoExample();
taskPanelInfoExample.createCriteria().andTaskDetailIdIn(allTaskId);
taskPanelInfoMapper.updateByExampleSelective(taskPanelInfo,taskPanelInfoExample);
}
}

Loading…
Cancel
Save