From 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 18 May 2023 14:25:58 +0800
Subject: [PATCH] 巡查任务巡查责任人完成任务逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 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 ae73771..00a5245 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
@@ -137,8 +137,8 @@
 	}
 
 	@Override
-	@Transactional
-	public boolean patrolCompleteTask(PatrolTask patrolTask,String currentUserId) {
+	@Transactional(rollbackFor = Exception.class)
+	public boolean patrolCompleteTask(PatrolTaskVO patrolTask,String currentUserId,String taskUser) {
 		R<BladeFlow> res = flowClient.getBladeFlow(patrolTask.getId().toString(),currentUserId);
 		if (res.isSuccess()){
 			BladeFlow flow = res.getData();
@@ -152,10 +152,11 @@
 				variables = Kv.create();
 			}
 			variables.put(ProcessConstant.REPORT_KEY,patrolTask.getReport());
-			variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, "1650048152667467777"));
+			variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, taskUser));
 			// 完成任务
 			flowClient.completeTask(taskId,processInstanceId,comment,variables);
 			saveReport(patrolTask);
+			patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
 			return baseMapper.updateById(patrolTask) >0;
 		}else {
 			return  false;
@@ -165,13 +166,18 @@
 	@Override
 	public boolean chargeCompletePerson(BladeFlowTask bladeFlowTask) {
 		//判断是否上报
+//		boolean isReport = false;
+//		List<PatrolReport> collect = bladeFlowTask.getPatrolReportList().stream().filter(report -> Func.equals(report.getStatus(), 2)).collect(Collectors.toList());
+//		if (collect.size()>0){
+//			isReport = true;
+//		}
+//		//更新report表
+//		boolean update = patrolReportService.updateBatchById(bladeFlowTask.getPatrolReportList());
+
 		boolean isReport = false;
-		List<PatrolReport> collect = bladeFlowTask.getPatrolReportList().stream().filter(report -> Func.equals(report.getStatus(), 2)).collect(Collectors.toList());
-		if (collect.size()>0){
+		if (StringUtil.isNoneBlank(bladeFlowTask.getTaskUser())){
 			isReport = true;
 		}
-		//更新report表
-		boolean update = patrolReportService.updateBatchById(bladeFlowTask.getPatrolReportList());
 
 		String taskId = bladeFlowTask.getTaskId();
 		String processInstanceId = bladeFlowTask.getProcessInstanceId();
@@ -191,7 +197,7 @@
 		variables.put(ProcessConstant.TOTECH_KEY,bladeFlowTask.getToTech());
 		//完成任务
 		flowClient.completeTask(taskId, processInstanceId, comment, variables);
-		return update;
+		return true;
 	}
 
 	@Override
@@ -199,6 +205,11 @@
 		return baseMapper.customizeGetById(businessId);
 	}
 
+	@Override
+	public List<PatrolTask> getAll(PatrolTaskVO patrolTaskVO) {
+		return baseMapper.getAll(patrolTaskVO);
+	}
+
 	public void saveReport(PatrolTask patrolTask){
 		//拿到当前任务下的异常巡查记录
 		PatrolRecord patrolRecord = new PatrolRecord();

--
Gitblit v1.9.3