From d0a1fc499804f832f4c77bc80727340907cbfd4a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 16 May 2023 17:13:25 +0800
Subject: [PATCH] 报汛开始流程调整
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java | 63 ++++++++++++++-----------------
1 files changed, 29 insertions(+), 34 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java
index fdfa455..5f73de1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java
@@ -50,30 +50,14 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean startProcess(ReportFloodRecord reportFloodRecord) {
+ public boolean startProcess(ReportFloodRecordVO reportFloodRecord) {
String businessTable = FlowUtil.getBusinessTable(ProcessConstant.REPORT_FLOOD_KEY);
if (Func.isEmpty(reportFloodRecord.getId())) {
save(reportFloodRecord);
// 启动流程
Kv variables = Kv.create()
- .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, reportFloodRecord.getCreateUser());
- //无异常/自行解决,把任务指定给自己
- if (Func.equals(1,reportFloodRecord.getStatus())){
- //无异常
- variables.set("taskUser", TaskUtil.getTaskUser(reportFloodRecord.getCreateUser().toString()));
- }else {
- //异常
- if (reportFloodRecord.getSolution().equals("1")) {
- //自行解决
- variables.set("taskUser", TaskUtil.getTaskUser(reportFloodRecord.getCreateUser().toString()));
- }else{
- //上报给技术责任人处理
- User user = getUser(PersonType.TECH_PERSON, reportFloodRecord.getReservoirId());
- if (ObjectUtil.isNotEmpty(user)){
- variables.set("taskUser", TaskUtil.getTaskUser(user.getId().toString()));
- }
- }
- }
+ .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, reportFloodRecord.getCreateUser())
+ .set("taskUser", StringUtil.format("{}{}", TASK_USR_PREFIX, reportFloodRecord.getTaskUser()));
R<BladeFlow> result = flowClient.startProcessInstanceById(reportFloodRecord.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(reportFloodRecord.getId())), variables);
if (result.isSuccess()) {
log.debug("流程已启动,流程ID:" + result.getData().getProcessInstanceId());
@@ -81,21 +65,34 @@
reportFloodRecord.setProcessInstanceId(result.getData().getProcessInstanceId());
updateById(reportFloodRecord);
- if (Func.equals(1,reportFloodRecord.getStatus())){
- //状态正常直接结束任务
- ReportFloodRecordVO reportFloodRecordVO = new ReportFloodRecordVO();
- reportFloodRecordVO.setReport(false);
- reportFloodRecordVO.setToDept(false);
- reportFloodRecordVO.setProcessInstanceId(reportFloodRecord.getProcessInstanceId());
- R<BladeFlow> res = flowClient.getBladeFlow(reportFloodRecord.getId().toString(),reportFloodRecord.getCreateUser().toString());
- if (res.isSuccess()){
- reportFloodRecordVO.setFlow(res.getData());
- completeTask(reportFloodRecordVO,reportFloodRecord.getCreateUser().toString(),reportFloodRecord.getCreateUser().toString());
- }else {
- throw new ServiceException("完成报汛失败");
+// //状态正常直接结束任务
+ ReportFloodRecordVO reportFloodRecordVO = new ReportFloodRecordVO();
+ reportFloodRecordVO.setProcessInstanceId(reportFloodRecord.getProcessInstanceId());
+ //业务id
+ String businessId = reportFloodRecord.getId().toString();
+ //当前用户id
+ String currentUserId = reportFloodRecord.getCreateUser().toString();
+ //指定下一人
+ String taskUser = reportFloodRecord.getTaskUser();
+ R<BladeFlow> res = flowClient.getBladeFlow(businessId,currentUserId);
+ //参数设置
+ if (res.isSuccess()){
+ reportFloodRecordVO.setFlow(res.getData());
+ if (Func.equals(reportFloodRecord.getStatus(),1)){
+ //状态正常结束任务
+ reportFloodRecordVO.setReport(false);
+ }else{
+ //异常
+ if (Func.equals(reportFloodRecord.getSolution(),"1")){
+ //自行处理
+ return true;
+ }else {
+ //上报给技术责任人
+ reportFloodRecordVO.setReport(true);
+ }
}
}
-
+ completeTask(reportFloodRecordVO,taskUser,currentUserId);
} else {
throw new ServiceException("开启流程失败");
}
@@ -120,8 +117,6 @@
variables.put(ProcessConstant.REPORT_KEY,reportFloodRecord.isReport());
//指定转交人
variables.put("taskUser", StringUtil.format("{}{}", TASK_USR_PREFIX, taskUser));
- //指定是否上报给部门
- variables.put(ProcessConstant.TODEPT_KEY,reportFloodRecord.isToDept());
// 完成任务
flowClient.completeTask(taskId,processInstanceId,comment,variables);
return true;
--
Gitblit v1.9.3