From fc2adc3521931c2f7bc5b2f3a3d94ebf407828d6 Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Mon, 01 Jul 2024 09:40:55 +0800
Subject: [PATCH] 水库堤防白蚁普查资料当前页压缩导出新增条件优化v20240701

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResRsbNorspiServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResRsbNorspiServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResRsbNorspiServiceImpl.java
index a12eb22..0b9e52e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResRsbNorspiServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResRsbNorspiServiceImpl.java
@@ -1,11 +1,10 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
+import cn.gistack.sm.sjztmd.entity.*;
 import cn.gistack.sm.sjztmd.entity.TbAttResRsbNorspi;
-import cn.gistack.sm.sjztmd.entity.TbAttResRsbNorspi;
-import cn.gistack.sm.sjztmd.entity.TbAttResRsbSpillway;
-import cn.gistack.sm.sjztmd.entity.TbAttResRsbVerspi;
 import cn.gistack.sm.sjztmd.mapper.TbAttResRsbNorspiMapper;
 import cn.gistack.sm.sjztmd.mapper.TbAttResRsbVerspiMapper;
+import cn.gistack.sm.sjztmd.service.ITbAttResBaseService;
 import cn.gistack.sm.sjztmd.service.ITbAttResRsbNorspiService;
 import cn.gistack.sm.sjztmd.service.ITbAttResRsbSpillwayService;
 import cn.gistack.sm.sjztmd.service.ITbAttResRsbVerspiService;
@@ -26,7 +25,9 @@
 
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @ClassName TbAttResRsbNorspiServiceImpl
@@ -48,6 +49,9 @@
 	@Autowired
 	private ITbAttResRsbSpillwayService tbAttResRsbSpillwayService;
 
+	@Autowired
+	private ITbAttResBaseService tbAttResBaseService;
+
 	/**
 	 * 查询水库填报详情信息
 	 * @param guid
@@ -65,6 +69,11 @@
 	 */
 	@Override
 	public boolean updateByGuid(List<TbAttResRsbNorspi> newList) {
+		boolean edit = false;
+		// 编辑标记
+		if (newList.get(0).getCheckState()==4){
+			edit = true;
+		}
 		String resGuid = newList.get(0).getResGuid();
 		// 查询是否存在
 		List<TbAttResRsbNorspi> oldList = baseMapper.getDetailByResGuid(resGuid);
@@ -72,8 +81,14 @@
 		setUpdateLog(oldList,newList);
 		// 创建或更新数据
 		boolean flag = addOrUpdate(oldList,newList);
+		if (flag){
+//			if (!edit) {
+//				tbAttResBaseService.updateFinalState(newList.get(0).getResGuid(), 0);
+//			}
+			return true;
+		}
 		// 返回
-		return flag;
+		return false;
 	}
 
 	/**
@@ -100,10 +115,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){
 			// 批量删除
@@ -123,14 +140,37 @@
 	 */
 	@Override
 	public boolean auditByGuid(List<TbAttResRsbNorspi> newList) {
+		boolean edit = false;
+		// 编辑标记
+		if (newList.get(0).getCheckState()==4){
+			edit = true;
+		}
 		// 查询是否存在
 		List<TbAttResRsbNorspi> oldList = baseMapper.getDetailByResGuid(newList.get(0).getResGuid());
 		// 更新操作日志
 		setUpdateLog(oldList,newList);
 		// 更新审核日志
 		setUpdateCheckLog(oldList,newList);
+
 		// 更新数据
-		boolean batch = updateBatchById(newList);
+		List<TbAttResRsbNorspi> updateList = Stream.concat(oldList.stream(),newList.stream())
+			.collect(Collectors.toMap(TbAttResRsbNorspi::getGuid, Function.identity(),(oldValue, newValue) -> {
+					oldValue.setCheckState(newValue.getCheckState());
+					return oldValue;
+				}
+			))
+			.values()
+			.stream()
+			.collect(Collectors.toList());
+
+		// 更新数据
+		boolean batch = updateBatchById(updateList);
+		if (batch){
+			if (!edit) {
+				tbAttResBaseService.updateFinalState(newList.get(0).getResGuid(), newList.get(0).getCheckState());
+			}
+			return true;
+		}
 		// 返回
 		return batch;
 	}
@@ -212,10 +252,8 @@
 			if (newTbAttResRsbNorspi.getCheckState()==4){
 				fillName = "编辑";
 				// 找到相关的 guid 数据
-				for (TbAttResRsbNorspi tbAttResRsbNorspi : oldList) {
-					if (tbAttResRsbNorspi.getGuid().equals(newTbAttResRsbNorspi.getGuid())){
-						newTbAttResRsbNorspi.setCheckState(tbAttResRsbNorspi.getCheckState());
-					}
+				if (oldList.size()>0) {
+					newTbAttResRsbNorspi.setCheckState(oldList.get(0).getCheckState());
 				}
 			}
 

--
Gitblit v1.9.3