|
@@ -109,14 +109,20 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
if (name == null || name.equals("")) {
|
|
|
throw new XiaoShiException("任务名称不能为空!");
|
|
|
}
|
|
|
+ //根据assoTaskId查询processId
|
|
|
+ if (projectTaskDTO.getAssoTaskId() != null) {
|
|
|
+ LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ProjectTask::getId, projectTaskDTO.getAssoTaskId());
|
|
|
+ List<ProjectTask> projectTasks = this.list(queryWrapper);
|
|
|
+ if (projectTasks != null && projectTasks.size() != 0) {
|
|
|
+ ProjectTask projectTask = projectTasks.get(0);
|
|
|
+ projectTaskDTO.setProcessId(projectTask.getProcessId());
|
|
|
+ }
|
|
|
+ }
|
|
|
ProjectTask projectTask = new ProjectTask();
|
|
|
BeanUtils.copyProperties(projectTaskDTO, projectTask);
|
|
|
//任务状态置为处理中
|
|
|
projectTask.setStatus(2);
|
|
|
- //任务类型为审核任务
|
|
|
- if (projectTaskDTO.getType() == 5) {
|
|
|
- projectTask.setType(5);
|
|
|
- }
|
|
|
//获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
try {
|
|
@@ -127,10 +133,8 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//设置任务的发起人
|
|
|
projectTask.setCreateId(personnelVO.getId());
|
|
|
projectTask.insert();
|
|
|
- //如果新建的任务没有assoTaskId,那么将他的id设为assoTaskId
|
|
|
- if (projectTask.getAssoTaskId() == null) {
|
|
|
+ if (projectTask.getAssoTaskId() == null && projectTask.getType() == 6) {
|
|
|
projectTask.setAssoTaskId(projectTask.getId());
|
|
|
- projectTask.updateById();
|
|
|
}
|
|
|
//新增任务可能会上传附件,如果附件不为空,则添加任务与附件关联
|
|
|
if (projectTaskDTO.getFileGuids() != null) {
|
|
@@ -139,6 +143,17 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
assoTaskFileDTO.setFileGuids(projectTaskDTO.getFileGuids());
|
|
|
assoTaskFileService.addTaskFile(assoTaskFileDTO);
|
|
|
}
|
|
|
+ //根据新增的审核任务的lastTaskId,将上一级任务状态改为审核中
|
|
|
+ if (projectTask.getLastTaskId() != null) {
|
|
|
+ LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ProjectTask::getId, projectTask.getLastTaskId());
|
|
|
+ List<ProjectTask> projectTasks = this.list(queryWrapper);
|
|
|
+ if (projectTasks != null && projectTasks.size() != 0) {
|
|
|
+ ProjectTask projectTask1 = projectTasks.get(0);
|
|
|
+ projectTask1.setStatus(1);
|
|
|
+ projectTask1.updateById();
|
|
|
+ }
|
|
|
+ }
|
|
|
return projectTask.getId();
|
|
|
}
|
|
|
|
|
@@ -201,7 +216,7 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
for (ProjectTaskVO projectTaskVO : projectTaskVOS) {
|
|
|
//装载人员信息
|
|
|
Personnel personnel = personnels.stream().filter(item -> item.getId().equals(projectTaskVO.getCreateId())).findFirst().orElse(null);
|
|
|
- Personnel personnel2 = personnels2.stream().filter(item -> item.getId().equals(projectTaskVO.getHandler())).findFirst().orElse(null);
|
|
|
+ Personnel personnel2 = personnels2.stream().filter(item -> item.getId().equals(projectTaskVO.getHandler())).findFirst().orElse(null);
|
|
|
if(personnel != null){
|
|
|
projectTaskVO.setCreateName(personnel.getPersonnelName());
|
|
|
projectTaskVO.setHandlerName(personnel2.getPersonnelName());
|
|
@@ -222,7 +237,11 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//根据taskId查询此条任务详情
|
|
|
LambdaQueryWrapper<ProjectTask> currentTaskWrapper = new LambdaQueryWrapper<>();
|
|
|
currentTaskWrapper.eq(ProjectTask::getId, taskId);
|
|
|
- ProjectTask currentTask = this.list(currentTaskWrapper).get(0);
|
|
|
+ List<ProjectTask> currentTasks = this.list(currentTaskWrapper);
|
|
|
+ ProjectTask currentTask = new ProjectTask();
|
|
|
+ if (currentTasks != null && currentTasks.size() != 0) {
|
|
|
+ currentTask = currentTasks.get(0);
|
|
|
+ }
|
|
|
//根据此条任务详情获取assoTaskId
|
|
|
Integer assoTaskId = currentTask.getAssoTaskId();
|
|
|
List<ProjectTask> allProjectTasks = new ArrayList<>();
|
|
@@ -249,7 +268,6 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//任务详情VO
|
|
|
ProjectTaskVO auditHistoryTaskVO = new ProjectTaskVO();
|
|
|
BeanUtils.copyProperties(item, auditHistoryTaskVO);
|
|
|
- auditHistoryVO.setProjectTaskVO(auditHistoryTaskVO);
|
|
|
//处理结果VO
|
|
|
TaskHandleResultVO taskHandleResultVO = new TaskHandleResultVO();
|
|
|
LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
|
|
@@ -259,20 +277,24 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
TaskHandleResult taskHandleResult = taskHandleResults.get(0);
|
|
|
if (taskHandleResult != null) {
|
|
|
BeanUtils.copyProperties(taskHandleResult, taskHandleResultVO);
|
|
|
+ auditHistoryVO.setProjectTaskVO(auditHistoryTaskVO);
|
|
|
+ auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
|
|
|
}
|
|
|
}
|
|
|
- auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
|
|
|
auditHistoryVOS.add(auditHistoryVO);
|
|
|
}
|
|
|
}
|
|
|
taskDetailsVO.setAuditHistoryVOS(auditHistoryVOS);
|
|
|
}
|
|
|
-
|
|
|
//全部的文件信息(获取所有的任务的id,查出所有的结果id)
|
|
|
List<Integer> allTaskIds = allProjectTasks.stream().map(ProjectTask::getId).collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.in(TaskHandleResult::getTaskId, allTaskIds);
|
|
|
- List<Integer> resultIds = taskHandleResultService.list(queryWrapper).stream().map(TaskHandleResult::getId).collect(Collectors.toList());
|
|
|
+ List<TaskHandleResult> taskHandleResults = taskHandleResultService.list(queryWrapper);
|
|
|
+ List<Integer> resultIds = new ArrayList<>();
|
|
|
+ if (taskHandleResults != null && taskHandleResults.size() != 0) {
|
|
|
+ resultIds = taskHandleResults.stream().map(TaskHandleResult::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
List<HandleResultFileVO> handleResultFileVOS = new ArrayList<>();
|
|
|
//根据所有的结果ids查询所有fileGuids
|
|
|
if (resultIds != null) {
|
|
@@ -355,14 +377,18 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//添加审查历史中的人员id
|
|
|
taskDetailsVO.getAuditHistoryVOS().forEach(
|
|
|
item -> {
|
|
|
- if (item.getProjectTaskVO().getCreateId() != null) {
|
|
|
- createIds.add(item.getProjectTaskVO().getCreateId());
|
|
|
+ if (item.getProjectTaskVO() != null) {
|
|
|
+ if (item.getProjectTaskVO().getCreateId() != null) {
|
|
|
+ createIds.add(item.getProjectTaskVO().getCreateId());
|
|
|
+ }
|
|
|
+ if (item.getProjectTaskVO().getHandler() != null) {
|
|
|
+ createIds.add(item.getProjectTaskVO().getHandler());
|
|
|
+ }
|
|
|
}
|
|
|
- if (item.getProjectTaskVO().getHandler() != null) {
|
|
|
- createIds.add(item.getProjectTaskVO().getHandler());
|
|
|
- }
|
|
|
- if (item.getTaskHandleResultVO().getCreateId() != null) {
|
|
|
- createIds.add(item.getTaskHandleResultVO().getCreateId());
|
|
|
+ if (item.getTaskHandleResultVO() != null) {
|
|
|
+ if (item.getTaskHandleResultVO().getCreateId() != null) {
|
|
|
+ createIds.add(item.getTaskHandleResultVO().getCreateId());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
);
|
|
@@ -375,47 +401,55 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
}
|
|
|
//装载人员信息
|
|
|
//分配任务的创建人name
|
|
|
- Personnel personnel = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel != null) {
|
|
|
- taskDetailsVO.getProjectTaskVO().setCreateName(personnel.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的创建人id信息");
|
|
|
- }
|
|
|
- //分配任务的负责人name
|
|
|
- Personnel personnel1 = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
|
|
|
- if (personnel1 != null) {
|
|
|
- taskDetailsVO.getProjectTaskVO().setHandlerName(personnel1.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ if (taskDetailsVO.getProjectTaskVO() != null) {
|
|
|
+ Personnel personnel = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
|
|
|
+ if (personnel != null) {
|
|
|
+ taskDetailsVO.getProjectTaskVO().setCreateName(personnel.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到分配任务的创建人id信息");
|
|
|
+ }
|
|
|
+ //分配任务的负责人name
|
|
|
+ Personnel personnel1 = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
|
|
|
+ if (personnel1 != null) {
|
|
|
+ taskDetailsVO.getProjectTaskVO().setHandlerName(personnel1.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ }
|
|
|
}
|
|
|
//装载所有文件的上传人name
|
|
|
for (HandleResultFileVO handleResultFileVO : taskDetailsVO.getSystemFileList()) {
|
|
|
- Personnel personnel2 = personnels.stream().filter(item -> item.getId().equals(handleResultFileVO.getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel2 != null) {
|
|
|
- handleResultFileVO.setCreateName(personnel2.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ if (handleResultFileVO != null) {
|
|
|
+ Personnel personnel2 = personnels.stream().filter(item -> item.getId().equals(handleResultFileVO.getCreateId())).findFirst().orElse(null);
|
|
|
+ if (personnel2 != null) {
|
|
|
+ handleResultFileVO.setCreateName(personnel2.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到所有文件上传人id信息");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//装载所有审查历史中的人员name
|
|
|
for (AuditHistoryVO auditHistoryVO : taskDetailsVO.getAuditHistoryVOS()) {
|
|
|
- Personnel personnel3 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel3 != null) {
|
|
|
- auditHistoryVO.getProjectTaskVO().setCreateName(personnel3.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
- }
|
|
|
- Personnel personnel4 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
|
|
|
- if (personnel4 != null) {
|
|
|
- auditHistoryVO.getProjectTaskVO().setHandlerName(personnel4.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ if (auditHistoryVO.getProjectTaskVO() != null) {
|
|
|
+ Personnel personnel3 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
|
|
|
+ if (personnel3 != null) {
|
|
|
+ auditHistoryVO.getProjectTaskVO().setCreateName(personnel3.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ }
|
|
|
+ Personnel personnel4 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
|
|
|
+ if (personnel4 != null) {
|
|
|
+ auditHistoryVO.getProjectTaskVO().setHandlerName(personnel4.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ }
|
|
|
}
|
|
|
- Personnel personnel5 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getTaskHandleResultVO().getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel5 != null) {
|
|
|
- auditHistoryVO.getTaskHandleResultVO().setCreateName(personnel5.getPersonnelName());
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ if (auditHistoryVO.getTaskHandleResultVO() != null) {
|
|
|
+ Personnel personnel5 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getTaskHandleResultVO().getCreateId())).findFirst().orElse(null);
|
|
|
+ if (personnel5 != null) {
|
|
|
+ auditHistoryVO.getTaskHandleResultVO().setCreateName(personnel5.getPersonnelName());
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|