|
@@ -10,10 +10,7 @@ import cn.cslg.pas.common.model.request.QueryRequest;
|
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
|
import cn.cslg.pas.common.vo.business.*;
|
|
|
-import cn.cslg.pas.domain.business.AssoHandleResultFile;
|
|
|
-import cn.cslg.pas.domain.business.AssoTaskFile;
|
|
|
-import cn.cslg.pas.domain.business.ProjectTask;
|
|
|
-import cn.cslg.pas.domain.business.TaskHandleResult;
|
|
|
+import cn.cslg.pas.domain.business.*;
|
|
|
import cn.cslg.pas.exception.UnLoginException;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
|
import cn.cslg.pas.factorys.businessFactory.Business;
|
|
@@ -130,8 +127,13 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//设置任务的发起人
|
|
|
projectTask.setCreateId(personnelVO.getId());
|
|
|
projectTask.insert();
|
|
|
+ //如果新建的任务没有assoTaskId,那么将他的id设为assoTaskId
|
|
|
+ if (projectTask.getAssoTaskId() == null) {
|
|
|
+ projectTask.setAssoTaskId(projectTask.getId());
|
|
|
+ projectTask.updateById();
|
|
|
+ }
|
|
|
//新增任务可能会上传附件,如果附件不为空,则添加任务与附件关联
|
|
|
- if (projectTaskDTO.getFileGuids().size() != 0) {
|
|
|
+ if (projectTaskDTO.getFileGuids() != null) {
|
|
|
AssoTaskFileDTO assoTaskFileDTO = new AssoTaskFileDTO();
|
|
|
assoTaskFileDTO.setTaskId(projectTask.getId());
|
|
|
assoTaskFileDTO.setFileGuids(projectTaskDTO.getFileGuids());
|
|
@@ -240,10 +242,10 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
}
|
|
|
//新建审核历史返回VO以及集合
|
|
|
List<AuditHistoryVO> auditHistoryVOS = new ArrayList<>();
|
|
|
- AuditHistoryVO auditHistoryVO = new AuditHistoryVO();
|
|
|
if (allProjectTasks != null) {
|
|
|
for (ProjectTask item : allProjectTasks) {
|
|
|
if (item != null) {
|
|
|
+ AuditHistoryVO auditHistoryVO = new AuditHistoryVO();
|
|
|
//任务详情VO
|
|
|
ProjectTaskVO auditHistoryTaskVO = new ProjectTaskVO();
|
|
|
BeanUtils.copyProperties(item, auditHistoryTaskVO);
|
|
@@ -263,40 +265,45 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
auditHistoryVOS.add(auditHistoryVO);
|
|
|
}
|
|
|
}
|
|
|
+ taskDetailsVO.setAuditHistoryVOS(auditHistoryVOS);
|
|
|
}
|
|
|
- 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());
|
|
|
- //根据所有的结果ids查询所有fileGuids
|
|
|
- LambdaQueryWrapper<AssoHandleResultFile> allGuidsWrapper = new LambdaQueryWrapper<>();
|
|
|
- allGuidsWrapper.in(AssoHandleResultFile::getTaskHandleResultId, resultIds);
|
|
|
- List<AssoHandleResultFile> assoHandleResultFiles = assoHandleResultFileService.list(allGuidsWrapper);
|
|
|
- //新建
|
|
|
- List<String> fileGuids = new ArrayList<>();
|
|
|
- List<SystemFile> systemFiles = new ArrayList<>();
|
|
|
List<HandleResultFileVO> handleResultFileVOS = new ArrayList<>();
|
|
|
- if (assoHandleResultFiles.size() != 0) {
|
|
|
- fileGuids = assoHandleResultFiles.stream().map(AssoHandleResultFile::getFileGuid).collect(Collectors.toList());
|
|
|
- }
|
|
|
- //调用文件系统查询文件信息接口
|
|
|
- if (fileGuids.size() != 0) {
|
|
|
- String res = fileManagerService.getSystemFileFromFMS(fileGuids);
|
|
|
- systemFiles = JSONObject.parseArray(res, SystemFile.class);
|
|
|
- }
|
|
|
- if (systemFiles.size() != 0) {
|
|
|
- for (AssoHandleResultFile assoHandleResultFile : assoHandleResultFiles) {
|
|
|
- HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
|
|
|
- //装载文件信息
|
|
|
- SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(assoHandleResultFile.getFileGuid())).findFirst().orElse(null);
|
|
|
- if (systemFile != null) {
|
|
|
- BeanUtils.copyProperties(assoHandleResultFile, handleResultFileVO);
|
|
|
- handleResultFileVO.setFileType(systemFile.getType());
|
|
|
- handleResultFileVO.setFileName(systemFile.getOriginalName());
|
|
|
+ //根据所有的结果ids查询所有fileGuids
|
|
|
+ if (resultIds != null) {
|
|
|
+ LambdaQueryWrapper<AssoHandleResultFile> allGuidsWrapper = new LambdaQueryWrapper<>();
|
|
|
+ allGuidsWrapper.in(AssoHandleResultFile::getTaskHandleResultId, resultIds);
|
|
|
+ List<AssoHandleResultFile> assoHandleResultFiles = assoHandleResultFileService.list(allGuidsWrapper);
|
|
|
+ //新建
|
|
|
+ List<String> fileGuids = new ArrayList<>();
|
|
|
+ List<SystemFile> systemFiles = new ArrayList<>();
|
|
|
+
|
|
|
+ if (assoHandleResultFiles.size() != 0) {
|
|
|
+ fileGuids = assoHandleResultFiles.stream().map(AssoHandleResultFile::getFileGuid).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ //调用文件系统查询文件信息接口
|
|
|
+ if (fileGuids.size() != 0) {
|
|
|
+ String res = fileManagerService.getSystemFileFromFMS(fileGuids);
|
|
|
+ systemFiles = JSONObject.parseArray(res, SystemFile.class);
|
|
|
+ }
|
|
|
+ if (systemFiles.size() != 0) {
|
|
|
+ for (AssoHandleResultFile assoHandleResultFile : assoHandleResultFiles) {
|
|
|
+ HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
|
|
|
+ //装载文件信息
|
|
|
+ SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(assoHandleResultFile.getFileGuid())).findFirst().orElse(null);
|
|
|
+ if (systemFile != null) {
|
|
|
+ BeanUtils.copyProperties(assoHandleResultFile, handleResultFileVO);
|
|
|
+ handleResultFileVO.setGuid(assoHandleResultFile.getFileGuid());
|
|
|
+ handleResultFileVO.setType(systemFile.getType());
|
|
|
+ handleResultFileVO.setOriginalName(systemFile.getOriginalName());
|
|
|
+ }
|
|
|
+ handleResultFileVOS.add(handleResultFileVO);
|
|
|
}
|
|
|
- handleResultFileVOS.add(handleResultFileVO);
|
|
|
}
|
|
|
}
|
|
|
taskDetailsVO.setSystemFileList(handleResultFileVOS);
|
|
@@ -305,7 +312,28 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
return taskDetailsVO;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 装载任务详情的集合
|
|
|
+ * @param taskDetailsVO
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
public void loadTaskDetails(TaskDetailsVO taskDetailsVO) throws IOException {
|
|
|
+ //装载项目名称
|
|
|
+ Integer projectId = null;
|
|
|
+ if (taskDetailsVO.getProjectTaskVO() != null) {
|
|
|
+ projectId = taskDetailsVO.getProjectTaskVO().getProjectId();
|
|
|
+ }
|
|
|
+ if (projectId != null) {
|
|
|
+ //根据项目id查询项目名称并装载
|
|
|
+ LambdaQueryWrapper<PatentDigProject> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(PatentDigProject::getProjectId, projectId);
|
|
|
+ List<PatentDigProject> patentDigProjects = patentDigProjectService.list(queryWrapper);
|
|
|
+ if (patentDigProjects != null && patentDigProjects.size() != 0) {
|
|
|
+ PatentDigProject patentDigProject = patentDigProjects.get(0);
|
|
|
+ String projectName = patentDigProject.getName();
|
|
|
+ taskDetailsVO.getProjectTaskVO().setProjectName(projectName);
|
|
|
+ }
|
|
|
+ }
|
|
|
//新建人员id集合
|
|
|
List<String> createIds = new ArrayList<>();
|
|
|
//添加分配任务的创建人id
|
|
@@ -355,7 +383,7 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
}
|
|
|
//分配任务的负责人name
|
|
|
Personnel personnel1 = personnels.stream().filter(item -> item.getId().equals(taskDetailsVO.getProjectTaskVO().getHandler())).findFirst().orElse(null);
|
|
|
- if (personnel != null) {
|
|
|
+ if (personnel1 != null) {
|
|
|
taskDetailsVO.getProjectTaskVO().setHandlerName(personnel1.getPersonnelName());
|
|
|
} else {
|
|
|
throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
@@ -363,7 +391,7 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//装载所有文件的上传人name
|
|
|
for (HandleResultFileVO handleResultFileVO : taskDetailsVO.getSystemFileList()) {
|
|
|
Personnel personnel2 = personnels.stream().filter(item -> item.getId().equals(handleResultFileVO.getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel != null) {
|
|
|
+ if (personnel2 != null) {
|
|
|
handleResultFileVO.setCreateName(personnel2.getPersonnelName());
|
|
|
} else {
|
|
|
throw new XiaoShiException("未获取到分配任务的负责人id信息");
|
|
@@ -372,17 +400,23 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
|
|
|
//装载所有审查历史中的人员name
|
|
|
for (AuditHistoryVO auditHistoryVO : taskDetailsVO.getAuditHistoryVOS()) {
|
|
|
Personnel personnel3 = personnels.stream().filter(item -> item.getId().equals(auditHistoryVO.getProjectTaskVO().getCreateId())).findFirst().orElse(null);
|
|
|
- if (personnel != 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 (personnel != 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信息");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|