From 49e4b8b34d8ae36ae97beff39cc70d21ec7256a4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 29 Nov 2023 11:37:37 +0800
Subject: [PATCH] 水库填报修复-输水建筑物

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResWaterDeliveryServiceImpl.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResWaterDeliveryServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResWaterDeliveryServiceImpl.java
index f167f81..0624462 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResWaterDeliveryServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResWaterDeliveryServiceImpl.java
@@ -1,5 +1,6 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
+import cn.gistack.sm.sjztmd.entity.TbAttResRsbNorspi;
 import cn.gistack.sm.sjztmd.entity.TbAttResWaterDelivery;
 import cn.gistack.sm.sjztmd.entity.TbAttResWaterDelivery;
 import cn.gistack.sm.sjztmd.mapper.TbAttResWaterDeliveryMapper;
@@ -16,7 +17,9 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @ClassName TbAttResWaterDeliveryServiceImpl
@@ -64,9 +67,9 @@
 		// 创建或更新数据
 		boolean flag = addOrUpdate(oldList,newList);
 		if (flag){
-			if (!edit) {
-				tbAttResBaseService.updateFinalState(newList.get(0).getResGuid(), 0);
-			}
+//			if (!edit) {
+//				tbAttResBaseService.updateFinalState(newList.get(0).getResGuid(), 0);
+//			}
 			return true;
 		}
 		// 返回
@@ -97,10 +100,12 @@
 		if (addList.size()>0){
 			// 批量新增
 			addFlag = saveBatch(addList);
+			tbAttResBaseService.updateFinalState(addList.get(0).getResGuid(),addList.get(0).getCheckState());
 		}
 		if (updateList.size()>0){
 			// 批量更新
 			addFlag = updateBatchById(updateList);
+			tbAttResBaseService.updateFinalState(updateList.get(0).getResGuid(),updateList.get(0).getCheckState());
 		}
 		if (removeList.size()>0){
 			// 批量删除
@@ -131,8 +136,21 @@
 		setUpdateLog(oldList,newList);
 		// 更新审核日志
 		setUpdateCheckLog(oldList,newList);
+
+		// 取旧数据和新提交数据交集--更新
+		List<TbAttResWaterDelivery> updateList = Stream.concat(oldList.stream(),newList.stream())
+			.collect(Collectors.toMap(TbAttResWaterDelivery::getGuid, Function.identity(),(oldValue, newValue) -> {
+					oldValue.setCheckState(newValue.getCheckState());
+					return oldValue;
+				}
+			))
+			.values()
+			.stream()
+			.collect(Collectors.toList());
+
 		// 更新数据
-		boolean batch = updateBatchById(newList);
+		boolean batch = updateBatchById(updateList);
+
 		if (batch){
 			if (!edit) {
 				tbAttResBaseService.updateFinalState(newList.get(0).getResGuid(), newList.get(0).getCheckState());

--
Gitblit v1.9.3