|
@@ -1194,7 +1194,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
} else //电签完成
|
|
|
{
|
|
|
try {
|
|
|
- archiveTreeContractClient.writeBusinessData(query.getWbsId(), query.getContractId(), formDataId);
|
|
|
+ archiveTreeContractClient.writeBusinessData(query.getWbsId(), query.getContractId(), formDataId, query.getClassify());
|
|
|
} catch (Exception e) {
|
|
|
}
|
|
|
}
|
|
@@ -1216,6 +1216,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
List<ArchiveFile> archiveFiles = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery()
|
|
|
.eq(ArchiveFile::getNodeId, nodeId.toString())
|
|
|
+ .eq(ArchiveFile::getClassify, query.getClassify())
|
|
|
.eq(ArchiveFile::getNodeExtId, keyId)
|
|
|
.eq(ArchiveFile::getIsDeleted, 0));
|
|
|
|
|
@@ -1236,12 +1237,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
if (wbsTreeContract != null) {
|
|
|
createTime = wbsTreeContract.getCreateTime();
|
|
|
}
|
|
|
- ArchiveFile newArchiveFile = getArchiveFile(query, nodeId, keyId, query.getEVisaPdfSize(), contractIndfo.archivesUnit(), createTime);
|
|
|
+ ArchiveFile newArchiveFile = getArchiveFile(query, nodeId, keyId, query.getEVisaPdfSize(), contractIndfo.archivesUnit(), createTime,query.getClassify());
|
|
|
this.archiveFileService.save(newArchiveFile);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public ArchiveFile getArchiveFile(InformationQuery query, Long nodeId, Long keyId, Long fileSize, String unit, Date createTime) {
|
|
|
+ public ArchiveFile getArchiveFile(InformationQuery query, Long nodeId, Long keyId, Long fileSize, String unit, Date createTime,Integer classify) {
|
|
|
ArchiveFile archiveFile = new ArchiveFile();
|
|
|
archiveFile.setNodeId(nodeId.toString());
|
|
|
archiveFile.setNodeExtId(keyId);
|
|
@@ -1255,6 +1256,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
//责任人怎么取
|
|
|
archiveFile.setDutyUser(unit);
|
|
|
+ //设置施工监理
|
|
|
+ archiveFile.setClassify(classify);
|
|
|
|
|
|
//文件大小
|
|
|
archiveFile.setFileSize(query.getEVisaPdfSize());
|
|
@@ -1299,76 +1302,140 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public void reSigningEVisa(String taskIds, String contractId, String projectId,String header) {
|
|
|
+// List<Task> taskList = jdbcTemplate.query("select * from u_task where id in(" + taskIds + ")", new BeanPropertyRowMapper<>(Task.class));
|
|
|
+// if (taskList.size() > 0) {
|
|
|
+// List<String> dataIdList = taskList.stream().map(Task::getFormDataId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
|
|
|
+// List<InformationQuery> informationQueryList = jdbcTemplate.query("select * from u_information_query where id in(" + StringUtils.join(dataIdList, ",") + ")", new BeanPropertyRowMapper<>(InformationQuery.class));
|
|
|
+// if (informationQueryList.size() > 0) {
|
|
|
+// List<Long> nodePKeyIdList = informationQueryList.stream().map(InformationQuery::getWbsId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
|
|
|
+// if (nodePKeyIdList.size() > 0) {
|
|
|
+// try {
|
|
|
+// //重新保存
|
|
|
+// long startTime_1 = System.currentTimeMillis();
|
|
|
+// R result = this.saveNodePdf(StringUtils.join(nodePKeyIdList, ","), contractId, projectId,header);
|
|
|
+// long endTime_1 = System.currentTimeMillis();
|
|
|
+// long executionTime_1 = endTime_1 - startTime_1;
|
|
|
+// log.info("saveNodePdf执行时间:" + executionTime_1 + " 毫秒");
|
|
|
+//
|
|
|
+// //重新电签
|
|
|
+// if (result != null && "成功".equals(result.getData())) {
|
|
|
+//
|
|
|
+// List<TaskApprovalVO> taskApprovalVOS = new ArrayList<>();
|
|
|
+// //获取任务详情信息Map
|
|
|
+// Set<String> processInstanceIds = taskList.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
|
|
|
+// Map<String, List<TaskParallel>> taskParallelGroupMap = new HashMap<>();
|
|
|
+// if (processInstanceIds.size() > 0) {
|
|
|
+// String resultIds = processInstanceIds.stream()
|
|
|
+// .map(id -> "'" + id + "'")
|
|
|
+// .collect(Collectors.joining(","));
|
|
|
+// taskParallelGroupMap = jdbcTemplate.query("select parallel_process_instance_id,process_instance_id,e_visa_status,task_user,task_user_name,status from u_task_parallel where process_instance_id in(" + resultIds + ") order by id", new BeanPropertyRowMapper<>(TaskParallel.class)).stream().collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
|
|
|
+// }
|
|
|
+// Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
|
+//
|
|
|
+// for (Task task : taskList) {
|
|
|
+// List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
+// for (TaskParallel taskParallel : taskParallelList) {
|
|
|
+// //待审批的不进行重签, 存在待审批,但是电签状态是失败的
|
|
|
+// if (!(new Integer(1)).equals(taskParallel.getStatus()) || (taskParallel.getEVisaStatus() != null && taskParallel.getEVisaStatus() == 99)) {
|
|
|
+// TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
|
+// approvalVO.setTaskId(task.getId().toString());
|
|
|
+// approvalVO.setFlag("OK");
|
|
|
+// approvalVO.setComment("重新发起电签");
|
|
|
+// approvalVO.setApprovalType(1);
|
|
|
+// approvalVO.setFormDataId(task.getFormDataId());
|
|
|
+// approvalVO.setParallelProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
|
+// approvalVO.setYsNickName(taskParallel.getTaskUserName());
|
|
|
+// approvalVO.setUserId(Long.parseLong(taskParallel.getTaskUser()));
|
|
|
+// taskApprovalVOS.add(approvalVO);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// long startTime_2 = System.currentTimeMillis();
|
|
|
+// this.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
+// long endTime_2 = System.currentTimeMillis();
|
|
|
+// long executionTime_2 = endTime_2 - startTime_2;
|
|
|
+// log.info("batchCompleteApprovalTask执行时间:" + executionTime_2 + " 毫秒");
|
|
|
+// } else {
|
|
|
+// throw new ServiceException("重新保存PDF信息失败");
|
|
|
+// }
|
|
|
+//
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// throw new ServiceException("重新保存PDF信息失败,原因:" + e.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// throw new ServiceException("未获取到任务信息,操作失败!");
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
public void reSigningEVisa(String taskIds, String contractId, String projectId,String header) {
|
|
|
- if (ObjectUtil.isEmpty(taskIds)) {
|
|
|
- throw new ServiceException("请选择至少一条任务进行重签");
|
|
|
- }
|
|
|
+ //查询任务信息
|
|
|
List<Task> taskList = jdbcTemplate.query("select * from u_task where id in(" + taskIds + ")", new BeanPropertyRowMapper<>(Task.class));
|
|
|
if (taskList.size() > 0) {
|
|
|
+ //获取任务详情信息Map
|
|
|
+ Set<String> processInstanceIds = taskList.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
|
|
|
+ Map<String, List<TaskParallel>> taskParallelGroupMap = new HashMap<>();
|
|
|
+ if (processInstanceIds.size() > 0) {
|
|
|
+ String resultIds = processInstanceIds.stream()
|
|
|
+ .map(id -> "'" + id + "'")
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ taskParallelGroupMap = jdbcTemplate.query("select parallel_process_instance_id,process_instance_id,e_visa_status,task_user,task_user_name,status from u_task_parallel where process_instance_id in(" + resultIds + ") order by id", new BeanPropertyRowMapper<>(TaskParallel.class)).stream().collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
|
|
|
+ }
|
|
|
+ Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
|
+ //获取每条任务对应的节点信息
|
|
|
List<String> dataIdList = taskList.stream().map(Task::getFormDataId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
|
|
|
- List<InformationQuery> informationQueryList = jdbcTemplate.query("select * from u_information_query where id in(" + StringUtils.join(dataIdList, ",") + ")", new BeanPropertyRowMapper<>(InformationQuery.class));
|
|
|
- if (informationQueryList.size() > 0) {
|
|
|
- List<Long> nodePKeyIdList = informationQueryList.stream().map(InformationQuery::getWbsId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
|
|
|
- if (nodePKeyIdList.size() > 0) {
|
|
|
- try {
|
|
|
- //重新保存
|
|
|
- long startTime_1 = System.currentTimeMillis();
|
|
|
- R result = this.saveNodePdf(StringUtils.join(nodePKeyIdList, ","), contractId, projectId,header);
|
|
|
- long endTime_1 = System.currentTimeMillis();
|
|
|
- long executionTime_1 = endTime_1 - startTime_1;
|
|
|
- log.info("saveNodePdf执行时间:" + executionTime_1 + " 毫秒");
|
|
|
-
|
|
|
- //重新电签
|
|
|
- if (result != null && "成功".equals(result.getData())) {
|
|
|
-
|
|
|
- List<TaskApprovalVO> taskApprovalVOS = new ArrayList<>();
|
|
|
- //获取任务详情信息Map
|
|
|
- Set<String> processInstanceIds = taskList.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
|
|
|
- Map<String, List<TaskParallel>> taskParallelGroupMap = new HashMap<>();
|
|
|
- if (processInstanceIds.size() > 0) {
|
|
|
- String resultIds = processInstanceIds.stream()
|
|
|
- .map(id -> "'" + id + "'")
|
|
|
- .collect(Collectors.joining(","));
|
|
|
- taskParallelGroupMap = jdbcTemplate.query("select parallel_process_instance_id,process_instance_id,e_visa_status,task_user,task_user_name,status from u_task_parallel where process_instance_id in(" + resultIds + ") order by id", new BeanPropertyRowMapper<>(TaskParallel.class)).stream().collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
|
|
|
- }
|
|
|
- Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
|
-
|
|
|
- for (Task task : taskList) {
|
|
|
- List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
- for (TaskParallel taskParallel : taskParallelList) {
|
|
|
- //待审批的不进行重签, 存在待审批,但是电签状态是失败的
|
|
|
- if (!(new Integer(1)).equals(taskParallel.getStatus()) || (taskParallel.getEVisaStatus() != null && taskParallel.getEVisaStatus() == 99)) {
|
|
|
- TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
|
- approvalVO.setTaskId(task.getId().toString());
|
|
|
- approvalVO.setFlag("OK");
|
|
|
- approvalVO.setComment("重新发起电签");
|
|
|
- approvalVO.setApprovalType(1);
|
|
|
- approvalVO.setFormDataId(task.getFormDataId());
|
|
|
- approvalVO.setParallelProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
|
- approvalVO.setYsNickName(taskParallel.getTaskUserName());
|
|
|
- approvalVO.setUserId(Long.parseLong(taskParallel.getTaskUser()));
|
|
|
- taskApprovalVOS.add(approvalVO);
|
|
|
- }
|
|
|
- }
|
|
|
+ Map<String, String> queryMap = jdbcTemplate.query("select * from u_information_query where id in(" + StringUtils.join(dataIdList, ",") + ")", new BeanPropertyRowMapper<>(InformationQuery.class)).stream().collect(Collectors.toMap(l -> l.getId()+"", l -> l.getWbsId()+""));
|
|
|
+ try {
|
|
|
+ for (Task task : taskList) {
|
|
|
+ //重新保存
|
|
|
+ long startTime_1 = System.currentTimeMillis();
|
|
|
+ R result = this.saveNodePdf(queryMap.get(task.getFormDataId()), contractId, projectId, header);
|
|
|
+ long endTime_1 = System.currentTimeMillis();
|
|
|
+ long executionTime_1 = endTime_1 - startTime_1;
|
|
|
+ log.info("saveNodePdf执行时间:" + executionTime_1 + " 毫秒");
|
|
|
+
|
|
|
+ //重新电签
|
|
|
+ if (result != null && "成功".equals(result.getData())) {
|
|
|
+ List<TaskApprovalVO> taskApprovalVOS = new ArrayList<>();
|
|
|
+ List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
+ for (TaskParallel taskParallel : taskParallelList) {
|
|
|
+ //待审批的不进行重签, 存在待审批,但是电签状态是失败的
|
|
|
+ if (!(new Integer(1)).equals(taskParallel.getStatus()) || (taskParallel.getEVisaStatus() != null && taskParallel.getEVisaStatus() == 99)) {
|
|
|
+ TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
|
+ approvalVO.setTaskId(task.getId().toString());
|
|
|
+ approvalVO.setFlag("OK");
|
|
|
+ approvalVO.setComment("重新发起电签");
|
|
|
+ approvalVO.setApprovalType(1);
|
|
|
+ approvalVO.setFormDataId(task.getFormDataId());
|
|
|
+ approvalVO.setParallelProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
|
+ approvalVO.setYsNickName(taskParallel.getTaskUserName());
|
|
|
+ approvalVO.setUserId(Long.parseLong(taskParallel.getTaskUser()));
|
|
|
+ taskApprovalVOS.add(approvalVO);
|
|
|
}
|
|
|
- long startTime_2 = System.currentTimeMillis();
|
|
|
- this.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
- long endTime_2 = System.currentTimeMillis();
|
|
|
- long executionTime_2 = endTime_2 - startTime_2;
|
|
|
- log.info("batchCompleteApprovalTask执行时间:" + executionTime_2 + " 毫秒");
|
|
|
-
|
|
|
- throw new ServiceException("任务已经成功提交重签,请耐心等待!");
|
|
|
- } else {
|
|
|
- throw new ServiceException("重新保存PDF信息失败");
|
|
|
}
|
|
|
-
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- throw new ServiceException("重新保存PDF信息失败,原因:" + e.getMessage());
|
|
|
+ long startTime_2 = System.currentTimeMillis();
|
|
|
+ this.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
+ long endTime_2 = System.currentTimeMillis();
|
|
|
+ long executionTime_2 = endTime_2 - startTime_2;
|
|
|
+ log.info("batchCompleteApprovalTask执行时间:" + executionTime_2 + " 毫秒");
|
|
|
+ } else {
|
|
|
+ //修改重签状态为保存PDF失败
|
|
|
+ this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
|
|
|
+ .set(TaskParallel::getEVisaContent, "重新保存PDF失败")
|
|
|
+ .eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId())
|
|
|
+ .eq(TaskParallel::getEVisaStatus,"99"));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("重新保存PDF信息失败,原因:" + e.getMessage());
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
throw new ServiceException("未获取到任务信息,操作失败!");
|
|
|
}
|