|
@@ -1,6 +1,7 @@
|
|
|
package org.springblade.business.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -153,7 +154,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//修改主流程状态为3
|
|
|
this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).eq(Task::getId, task.getId()));
|
|
|
//修改业务数据状态为未上报
|
|
|
- this.updateBusinessDataByFormDataId(task, 0);
|
|
|
+ this.updateBusinessDataByFormDataId(task, 0, null);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@@ -189,7 +190,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//todo ============================ 执行电签区域 ============================
|
|
|
|
|
|
//电签状态分为success/notPfxOrFile/error,当状态为error时就需要重新提交请求
|
|
|
- if("success".equals(eVisaStatus)){
|
|
|
+ if("success".equals(eVisaStatus) || eVisaStatus.contains("success")){
|
|
|
+ //审批通过会返回签章成功的文件,需要设置替换
|
|
|
//完成/审批当前分支流程
|
|
|
this.newFlowClient.completeApprovalTask(taskId, parallelProcessInstanceId, comment).getData();
|
|
|
//修改分支状态,改为已完成
|
|
@@ -210,7 +212,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//修改主流程状态为已完成
|
|
|
this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 2).set(Task::getUpdateTime, new Date()).eq(Task::getId, task.getId()));
|
|
|
//修改对应的业务数据状态为已审批
|
|
|
- this.updateBusinessDataByFormDataId(task, 2);
|
|
|
+ this.updateBusinessDataByFormDataId(task, 2, eVisaStatus.contains("@@@@") ? eVisaStatus.split("@@@@")[1] : null);
|
|
|
}
|
|
|
}
|
|
|
} else if("error".equals(eVisaStatus)) {
|
|
@@ -269,7 +271,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
}
|
|
|
this.update(Wrappers.<Task>lambdaUpdate().set(Task::getStatus, 3).set(Task::getUpdateTime, new Date()).eq(Task::getProcessInstanceId, masterProcessInstanceId));
|
|
|
//修改对应的业务数据状态为已废除
|
|
|
- this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3);
|
|
|
+ this.updateBusinessDataByFormDataId(this.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getProcessInstanceId, masterProcessInstanceId)), 3, null);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@@ -362,7 +364,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
/**
|
|
|
* 修改业务数据状态
|
|
|
*/
|
|
|
- private void updateBusinessDataByFormDataId(Task task, Integer status){
|
|
|
+ private void updateBusinessDataByFormDataId(Task task, Integer status, String newFileUrl){
|
|
|
switch (task.getApprovalType()){
|
|
|
case 1:
|
|
|
//资料填报
|
|
@@ -370,10 +372,10 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
break;
|
|
|
case 2:
|
|
|
//工程文件
|
|
|
- this.updateArchiveFileBusinessDataStatus(task.getFormDataId(), status);
|
|
|
+ this.updateArchiveFileBusinessDataStatus(task.getFormDataId(), status, newFileUrl);
|
|
|
break;
|
|
|
case 3:
|
|
|
- //工程文件
|
|
|
+ //日志文件
|
|
|
this.updateContractLogBusinessDataStatus(task.getFormDataId(), status);
|
|
|
break;
|
|
|
default:
|
|
@@ -398,8 +400,11 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
/**
|
|
|
* 工程文件
|
|
|
*/
|
|
|
- private void updateArchiveFileBusinessDataStatus(String formDataId, Integer status){
|
|
|
- this.archiveFileService.update(Wrappers.<ArchiveFile>lambdaUpdate().set(ArchiveFile::getStatus, status).in(ArchiveFile::getId, Arrays.asList(formDataId.split(","))));
|
|
|
+ private void updateArchiveFileBusinessDataStatus(String formDataId, Integer status, String newFileUrl){
|
|
|
+ LambdaUpdateWrapper<ArchiveFile> wrapper = Wrappers.lambdaUpdate();
|
|
|
+ //更改状态,更改电签文件信息
|
|
|
+ wrapper.set(ArchiveFile::getStatus, status).set(ArchiveFile::getEVisaFile, newFileUrl);
|
|
|
+ this.archiveFileService.update(wrapper.in(ArchiveFile::getId, Arrays.asList(formDataId.split(","))));
|
|
|
}
|
|
|
|
|
|
}
|