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 | 56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 7 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 f685a88..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,8 +1,10 @@
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;
+import cn.gistack.sm.sjztmd.service.ITbAttResBaseService;
import cn.gistack.sm.sjztmd.service.ITbAttResWaterDeliveryService;
import cn.gistack.system.user.feign.IUserClient;
import com.baomidou.dynamic.datasource.annotation.DS;
@@ -15,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
@@ -30,6 +34,9 @@
@Autowired
private IUserClient userClient;
+
+ @Autowired
+ private ITbAttResBaseService tbAttResBaseService;
/**
* 查询水库填报详情信息
@@ -48,14 +55,25 @@
*/
@Override
public boolean updateByGuid(List<TbAttResWaterDelivery> newList) {
+ boolean edit = false;
+ // 编辑标记
+ if (newList.get(0).getCheckState()==4){
+ edit = true;
+ }
// 查询是否存在
List<TbAttResWaterDelivery> oldList = baseMapper.getDetailByResGuid(newList.get(0).getResGuid());
// 更新日志
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;
}
/**
@@ -82,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){
// 批量删除
@@ -105,16 +125,40 @@
*/
@Override
public boolean auditByGuid(List<TbAttResWaterDelivery> newList) {
+ boolean edit = false;
+ // 编辑标记
+ if (newList.get(0).getCheckState()==4){
+ edit = true;
+ }
// 查询是否存在
List<TbAttResWaterDelivery> oldList = baseMapper.getDetailByResGuid(newList.get(0).getResGuid());
// 更新操作日志
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());
+ }
+ return true;
+ }
// 返回
- return batch;
+ return false;
}
/**
@@ -194,10 +238,8 @@
if (newTbAttResWaterDelivery.getCheckState()==4){
fillName = "编辑";
// 找到相关的 guid 数据
- for (TbAttResWaterDelivery tbAttResWaterDelivery : oldList) {
- if (tbAttResWaterDelivery.getGuid().equals(newTbAttResWaterDelivery.getGuid())){
- newTbAttResWaterDelivery.setCheckState(tbAttResWaterDelivery.getCheckState());
- }
+ if (oldList.size()>0) {
+ newTbAttResWaterDelivery.setCheckState(oldList.get(0).getCheckState());
}
}
--
Gitblit v1.9.3