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