From 27b27564be25fd92edfe328a0e989ee8f4c4e7d3 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 04 Mar 2024 15:23:28 +0800
Subject: [PATCH] 任务查询,按创建时间查询;白蚁大坝汛前巡查流程

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
index 98f79e8..c426771 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -145,7 +145,8 @@
 				//设置创建人
 				.set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserId())
 				//指定巡查责任人
-				.set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId()));
+				.set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId()))
+				.set("taskUser", TaskUtil.getTaskUser(patrolTask.getToUserId()));
 			R<BladeFlow> result = flowClient.startProcessInstanceById(patrolTask.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(patrolTask.getId())), variables);
 
 			if (result.isSuccess()) {
@@ -161,6 +162,50 @@
 		}
 		return patrolTask;
 	}
+
+
+	@Override
+	public boolean personCompleteTask(PatrolTaskVO patrolTaskVO, String currentUserId, String taskUser) {
+
+		String taskId = patrolTaskVO.getFlowTaskId();
+		String processInstanceId = patrolTaskVO.getProcessInstanceId();
+		String comment = patrolTaskVO.getComment();
+
+		//保存巡查记录
+		if (patrolTaskVO.getPatrolRecordList() != null && patrolTaskVO.getPatrolRecordList().size()>0){
+			patrolRecordService.saveBatch(patrolTaskVO.getPatrolRecordList());
+		}
+
+		// 创建变量
+		Map<String, Object> variables = new HashMap<>();
+		if (variables == null) {
+			variables = Kv.create();
+		}
+
+		//指定了人就是上报,没指定就表示已经处理了
+		if (StringUtil.isNotBlank(taskUser)){
+			variables.put("taskUser",TaskUtil.getTaskUser(taskUser));
+			variables.put(ProcessConstant.REPORT_KEY,true);
+		}else{
+			variables.put(ProcessConstant.REPORT_KEY,false);
+
+			//查监测预警表,看是否有这个任务,有的话修改任务状态
+			Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString());
+			if (!finishDamTask){
+				//查白蚁表,看是否有这个任务,有的话修改任务状态
+				Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString());
+			}
+
+
+		}
+
+
+
+
+		flowClient.completeTask(taskId, processInstanceId, comment, variables);
+		return updateById(patrolTaskVO);
+	}
+
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -188,12 +233,7 @@
 				patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
 			}
 
-//			//查监测预警表,看是否有这个任务,有的话修改任务状态
-//			Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString());
-//			if (!finishDamTask){
-//				//查白蚁表,看是否有这个任务,有的话修改任务状态
-//				Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString());
-//			}
+
 
 			return baseMapper.updateById(patrolTask) > 0;
 		} else {
@@ -388,6 +428,7 @@
 		return taskStatus;
 	}
 
+
 	@Override
 	public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) {
 		return baseMapper.getTaskTypeCount(patrolTaskVO);

--
Gitblit v1.9.3