|
@@ -597,7 +597,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
}
|
|
|
|
|
|
Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
|
|
|
- System.out.println(taskApprovalVO.getFormDataId()+"---"+aBoolean);
|
|
|
+ System.out.println(taskApprovalVO.getFormDataId() + "---" + aBoolean);
|
|
|
if (aBoolean) {
|
|
|
istrue = false;
|
|
|
}
|
|
@@ -606,11 +606,14 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
if (wtask >= 200) {
|
|
|
break;
|
|
|
}
|
|
|
- taskBatchService.update(Wrappers.<TaskBatch>update().set("is_deleted",2).eq("id",taskBatchId));
|
|
|
+ taskBatchService.update(Wrappers.<TaskBatch>update().set("is_deleted", 2).eq("id", taskBatchId));
|
|
|
RedisTemplate.opsForValue().set("sign-" + taskApprovalVO.getFormDataId(), "1", 66, TimeUnit.SECONDS);
|
|
|
CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
|
|
|
try {
|
|
|
+
|
|
|
+ /*===============执行批量任务===============*/
|
|
|
this.checkIsExsitTaskBatch(taskApprovalVO, taskBatchId, userId, nickName);
|
|
|
+
|
|
|
} catch (FileNotFoundException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -631,23 +634,14 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
taskApprovalVO.setUserId(userId);
|
|
|
taskApprovalVO.setNickName(nickName);
|
|
|
|
|
|
+ /*===============执行审批===============*/
|
|
|
String pdfUrlEVisa = this.completeApprovalTask(taskApprovalVO);
|
|
|
|
|
|
System.out.println("电签操作成功buss-----" + pdfUrlEVisa + "---batchId=" + batchId);
|
|
|
- //TODO ============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) liuYc 2023-03-16 ==============
|
|
|
- if ("OK".equals(taskApprovalVO.getFlag()) && StringUtils.isNotEmpty(pdfUrlEVisa)) {
|
|
|
- //已审批
|
|
|
- this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(pdfUrlEVisa, taskApprovalVO);
|
|
|
- //executor删除掉对应批次
|
|
|
- this.taskBatchService.deletedById(batchId);
|
|
|
- }
|
|
|
|
|
|
- if (!"OK".equals(taskApprovalVO.getFlag())) {
|
|
|
- //已废除
|
|
|
- this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatusFC(taskApprovalVO);
|
|
|
- //executor删除掉对应批次
|
|
|
- this.taskBatchService.deletedById(batchId);
|
|
|
- }
|
|
|
+ /*===============试验自检任务相关===============*/
|
|
|
+ this.trialSelfTaskRelated(taskApprovalVO, pdfUrlEVisa, batchId);
|
|
|
+
|
|
|
RedisTemplate.delete("sign-" + taskApprovalVO.getFormDataId());
|
|
|
}
|
|
|
|
|
@@ -684,10 +678,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
.set(TaskBatch::getIsDeleted, 4)
|
|
|
.eq(TaskBatch::getId, taskApprovalVO.getId())
|
|
|
);
|
|
|
+
|
|
|
} else if ("success".equals(eVisaStatus) || eVisaStatus.contains("success")) {
|
|
|
//审批通过会返回签章成功的文件,需要设置替换
|
|
|
//完成/审批当前分支流程
|
|
|
- // this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
|
+ // this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
|
//修改分支状态,改为已完成
|
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
|
|
|
.set(TaskParallel::getStatus, 2)
|
|
@@ -727,11 +722,19 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//修改对应的业务数据状态为已审批
|
|
|
this.updateBusinessDataByFormDataId(masterTask, 2, finalPdfUrl, taskApprovalVO.getUserId());
|
|
|
// }
|
|
|
+
|
|
|
+ //return前先删除合同段树redis缓存
|
|
|
+ informationQueryService.delAsyncWbsTree(masterTask.getContractId());
|
|
|
+
|
|
|
//返回电签成功的pdf路径,给试验用
|
|
|
return finalPdfUrl;
|
|
|
} else {
|
|
|
//只更新PDF路径
|
|
|
this.updateBusinessDataByFormDataId(masterTask, 1, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null, taskApprovalVO.getUserId());
|
|
|
+
|
|
|
+ //return前先删除合同段树redis缓存
|
|
|
+ informationQueryService.delAsyncWbsTree(masterTask.getContractId());
|
|
|
+
|
|
|
return eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null;
|
|
|
}
|
|
|
} else if ("eVisaError".equals(eVisaStatus) || eVisaStatus.contains("eVisaError")) {
|
|
@@ -759,12 +762,16 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
);
|
|
|
this.taskBatchService.deletedById(taskApprovalVO.getId());
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
//废除,遵循只要某一个分支流程废除,则主流程废除、其它分支流程均自动结束
|
|
|
//完成/审批当前分支流程
|
|
|
this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
|
//将分支状态更改为已废除
|
|
|
- this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getStatus, 3).set(TaskParallel::getUpdateUser, AuthUtil.getUserId()).set(TaskParallel::getUpdateTime, new Date()).eq(TaskParallel::getParallelProcessInstanceId, parallelProcessInstanceId));
|
|
|
+ this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getStatus, 3)
|
|
|
+ .set(TaskParallel::getUpdateUser, taskApprovalVO.getUserId())
|
|
|
+ .set(TaskParallel::getUpdateTime, new Date())
|
|
|
+ .eq(TaskParallel::getParallelProcessInstanceId, parallelProcessInstanceId));
|
|
|
|
|
|
//获取除当前分支外的所有分支
|
|
|
List<TaskParallel> otherLink = this.taskParallelService.queryOtherLinkList(parallelProcessInstanceId);
|
|
@@ -776,7 +783,10 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
for (TaskParallel parallel : otherLink) {
|
|
|
if (!new Integer("2").equals(parallel.getStatus())) {
|
|
|
//修改所有状态为已废除
|
|
|
- this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getInitiative, 2).set(TaskParallel::getUpdateUser, AuthUtil.getUserId()).set(TaskParallel::getUpdateTime, new Date()).eq(TaskParallel::getId, parallel.getId()));
|
|
|
+ this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate().set(TaskParallel::getInitiative, 2)
|
|
|
+ .set(TaskParallel::getUpdateUser, taskApprovalVO.getUserId())
|
|
|
+ .set(TaskParallel::getUpdateTime, new Date())
|
|
|
+ .eq(TaskParallel::getId, parallel.getId()));
|
|
|
|
|
|
if (new Integer("1").equals(parallel.getStatus())) {
|
|
|
//存在未审批的情况,自动执行其分支流程
|
|
@@ -806,18 +816,19 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null, taskApprovalVO.getUserId());
|
|
|
|
|
|
//任务废除通知
|
|
|
- this.abolishMessage(masterTask, currentLink, comment);
|
|
|
-
|
|
|
- //删除合同段树redis缓存 TODO 不清楚updateBusinessDataByFormDataId为什么没生效,在外层再次删除
|
|
|
- informationQueryService.delAsyncWbsTree(masterTask.getContractId());
|
|
|
+ this.abolishMessage(masterTask, currentLink, comment, taskApprovalVO.getNickName());
|
|
|
}
|
|
|
+
|
|
|
+ //return前先删除合同段树redis缓存
|
|
|
+ informationQueryService.delAsyncWbsTree(masterTask.getContractId());
|
|
|
+
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 任务废除通知
|
|
|
*/
|
|
|
- private void abolishMessage(Task masterTask, TaskParallel currentLink, String comment) {
|
|
|
+ private void abolishMessage(Task masterTask, TaskParallel currentLink, String comment, String nickName) {
|
|
|
//查询合同段及项目名称
|
|
|
ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(masterTask.getProjectId())).get(0);
|
|
|
String projectName = StringUtils.isNotEmpty(projectInfo.getProjectAlias()) ? projectInfo.getProjectAlias() : projectInfo.getProjectName();
|
|
@@ -837,7 +848,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
|
Long.parseLong(masterTask.getContractId()),
|
|
|
3,
|
|
|
- "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + nickName + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
Long.parseLong(parallel.getTaskUser()),
|
|
|
0
|
|
|
));
|
|
@@ -851,7 +862,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
|
Long.parseLong(masterTask.getContractId()),
|
|
|
3,
|
|
|
- "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + nickName + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
masterTask.getCreateUser(),
|
|
|
0
|
|
|
));
|
|
@@ -878,7 +889,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
|
Long.parseLong(masterTask.getContractId()),
|
|
|
3,
|
|
|
- "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + nickName + "】废除了【" + masterTask.getTaskName() + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
Long.parseLong(strs[0]),
|
|
|
0
|
|
|
));
|
|
@@ -896,7 +907,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
Long.parseLong(masterTask.getProjectId()),
|
|
|
Long.parseLong(masterTask.getContractId()),
|
|
|
3,
|
|
|
- "【" + projectName + "-" + contractName + "】的用户【" + AuthUtil.getNickName() + "】废除了【" + json.getString("fileName") + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
+ "【" + projectName + "-" + contractName + "】的用户【" + nickName + "】废除了【" + json.getString("fileName") + "】,废除原因为【" + comment + "】,请及时查看",
|
|
|
Long.parseLong(fillUser),
|
|
|
0
|
|
|
));
|
|
@@ -913,6 +924,26 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 试验自检任务业务相关
|
|
|
+ */
|
|
|
+ private void trialSelfTaskRelated(TaskApprovalVO taskApprovalVO, String pdfUrlEVisa, String batchId) throws FileNotFoundException {
|
|
|
+ //============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) ==============
|
|
|
+ if ("OK".equals(taskApprovalVO.getFlag()) && StringUtils.isNotEmpty(pdfUrlEVisa)) {
|
|
|
+ //已审批
|
|
|
+ this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatus(pdfUrlEVisa, taskApprovalVO);
|
|
|
+ //executor删除掉对应批次
|
|
|
+ this.taskBatchService.deletedById(batchId);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!"OK".equals(taskApprovalVO.getFlag())) {
|
|
|
+ //已废除
|
|
|
+ this.iTrialSelfInspectionRecordService.updateTrialSelfInspectionRecordStatusFC(taskApprovalVO);
|
|
|
+ //executor删除掉对应批次
|
|
|
+ this.taskBatchService.deletedById(batchId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean startApproval(TaskVO vo) {
|
|
|
//获取业务表
|
|
@@ -1141,10 +1172,10 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
.set(InformationQuery::getBusinessTime, dateInfo)
|
|
|
.in(InformationQuery::getId, Arrays.asList(formDataId.split(","))));
|
|
|
|
|
|
- //如果是废除任务,那么删除合同段节点树缓存 TODO 不清楚为什么没生效,在外层删除
|
|
|
+ /*//如果是废除任务,那么删除合同段节点树缓存
|
|
|
if (status == 3) {
|
|
|
informationQueryService.delAsyncWbsTree(queryinfo.getContractId().toString());
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
//修改试验业务状态(已审批的情况下修改)
|
|
|
if (new Integer(2).equals(queryinfo.getType()) && ObjectUtil.isNotEmpty(queryinfo.getWbsId()) && status != 3) {
|