|
|
@ -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); |
|
|
|
} |
|
|
|
} |
|
|
|