From df5530fea925af7dcbb6c17f921d4f825a6e9bdf Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 23 Mar 2022 16:58:04 +0800 Subject: [PATCH] =?UTF-8?q?20220323=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E5=85=A8=E9=83=A8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/ptccsens/service/TallService.java | 169 +++++++++++++++++- 1 file changed, 163 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index 88f693f..b633b10 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/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 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 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 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 taskSubList = proTaskSubDao.selectByExample(taskSubExample1); + List 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); } }