xieb
2023-11-29 49e4b8b34d8ae36ae97beff39cc70d21ec7256a4
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());
            }
         }