skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbAttResBaseServiceImpl.java
@@ -53,6 +53,10 @@
    */
   @Override
   public boolean updateByGuid(TbAttResBase tbAttResBase) {
      // 设置填报数据表的最终填报状态
      if (tbAttResBase.getCheckState()!=4) {
         tbAttResBase.setFinalState(0);
      }
      // 查询是否存在
      TbAttResBase detail = baseMapper.getDetailByGuid(tbAttResBase.getGuid());
      // 更新审核日志
@@ -84,10 +88,22 @@
      // 驳回情况下将状态修改回0即已填写未提交状态
      if (tbAttResBase.getCheckState()==3){
         tbAttResBase.setCheckState(0);
         // 只要一个退回则设置为填写中...
         tbAttResBase.setFinalState(0);
      }
      // 更新数据
      int i = baseMapper.updateById(tbAttResBase);
      if (i>0){
         // 如果是审核通过需要判断其他报表是否都已填报并审核通过
         if (tbAttResBase.getCheckState()==2){
            Boolean flag = baseMapper.getFinalCheckStateByGuid(tbAttResBase.getGuid());
            if (flag){
               TbAttResBase tbAttResBase1 = new TbAttResBase();
               tbAttResBase1.setFinalState(1);
               tbAttResBase1.setGuid(tbAttResBase.getGuid());
               updateById(tbAttResBase1);
            }
         }
         return true;
      }
      return false;
@@ -103,6 +119,7 @@
      if (null!=tbAttResBase.getGuid()){
         // 更新
         i = baseMapper.updateById(tbAttResBase);
         updateFinalState(tbAttResBase.getGuid(),tbAttResBase.getCheckState());
      }else {
         tbAttResBase.setCreateTime(new Date());
         i = baseMapper.insert(tbAttResBase);
@@ -212,7 +229,7 @@
      // 查询水库基础填报数据
      CompletableFuture<List<Map<String,Object>>> tbAttResBaseInfo = getTbAttResBaseInfo("tb_att_res_base",resGuid, executor);
      // 查询水库其他填报数据
      CompletableFuture<List<Map<String,Object>>> tbAttResBuildInfo = getTbInfo("tb_att_res_build_info",resGuid,executor);
//      CompletableFuture<List<Map<String,Object>>> tbAttResBuildInfo = getTbInfo("tb_att_res_build_info",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbAttResEngBene = getTbInfo("tb_att_res_eng_bene",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbAttResInfomationProject = getTbInfo("tb_att_res_infomation_project",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbAttResMgrSysB = getTbInfo("tb_att_res_mgr_sys_b",resGuid,executor);
@@ -225,11 +242,12 @@
      CompletableFuture<List<Map<String,Object>>> tbAttResStagChar = getTbInfo("tb_att_res_stag_char",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbAttResWaterBlock = getTbInfo("tb_att_res_water_block",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbAttResWaterDelivery = getTbInfo("tb_att_res_water_delivery",resGuid,executor);
      CompletableFuture<List<Map<String,Object>>> tbFileStorageLocation = getTbInfo("tb_file_storage_location",resGuid,executor);
      //等待所有任务执行完成
      try {
         CompletableFuture.allOf(
            tbAttResBaseInfo,
            tbAttResBuildInfo,
            tbFileStorageLocation,
            tbAttResEngBene,
            tbAttResInfomationProject,
            tbAttResMgrSysB,
@@ -241,10 +259,10 @@
            tbAttResSafetyMonitor,
            tbAttResStagChar,
            tbAttResWaterBlock,
            tbAttResWaterDelivery).get();
            tbAttResWaterDelivery
         ).get();
         // 数据处理
         list.addAll(tbAttResBaseInfo.get());
         list.addAll(tbAttResBuildInfo.get());
         list.addAll(tbAttResEngBene.get());
         list.addAll(tbAttResInfomationProject.get());
         list.addAll(tbAttResMgrSysB.get());
@@ -257,6 +275,7 @@
         list.addAll(tbAttResStagChar.get());
         list.addAll(tbAttResWaterBlock.get());
         list.addAll(tbAttResWaterDelivery.get());
         list.addAll(tbFileStorageLocation.get());
      } catch (InterruptedException e) {
         e.printStackTrace();
      } catch (ExecutionException e) {
@@ -300,4 +319,102 @@
         return tbInfo;
      },executor);
   }
   /**
    * 更新水库信息填报最终状态
    * @param resGuid 水库编码
    * @param state 状态值
    */
   @Override
   public Boolean updateFinalState(String resGuid, int state) {
      TbAttResBase tbAttResBase = new TbAttResBase();
      tbAttResBase.setGuid(resGuid);
      if (state==1 || state==2){
         // 审核通过,判断是否已全部通过审核
         Boolean flag = baseMapper.getFinalCheckStateByGuid(resGuid);
         if (flag){
            tbAttResBase.setFinalState(1);
         }else {
            // 否则判断是否审核中
            flag = baseMapper.getFinalCheckStateCheckLoadingByGuid(resGuid);
            if (flag){
               // 设置为审核中
               tbAttResBase.setFinalState(2);
            }else {
               // 填写中
               tbAttResBase.setFinalState(0);
            }
         }
      }else {
         tbAttResBase.setFinalState(0);
      }
      //更新
      return updateById(tbAttResBase);
   }
   @Override
   public void initTbData() {
      //初始化基础信心
      initTbAttResBase();
      //初始化水文特征
      initTbAttResStagChar();
      //初始化挡水建筑物
      initTbAttResWaterBlock();
      //初始化正常溢洪道
      initTbAttResRsbNorspi();
      //初始化泄洪洞
      initTbAttResRsbSpillway();
      //初始化非常溢洪道
      initTbAttResRsbVerspi();
      //初始化输水建筑物
      initTbAttResWaterDelivery();
      //初始化电站
      initTbAttResPowerStation();
   }
   private Integer initTbAttResPowerStation() {
      return baseMapper.initTbAttResPowerStation();
   }
   private Integer initTbAttResWaterDelivery() {
      return baseMapper.initTbAttResWaterDelivery();
   }
   private Integer initTbAttResRsbVerspi() {
      return baseMapper.initTbAttResRsbVerspi();
   }
   private Integer initTbAttResRsbSpillway() {
      return baseMapper.initTbAttResRsbSpillway();
   }
   private Integer initTbAttResRsbNorspi() {
      return baseMapper.initTbAttResRsbNorspi();
   }
   private Integer initTbAttResWaterBlock() {
      return baseMapper.initTbAttResWaterBlock();
   }
   /**
    * 初始化填报水文特征表
    */
   private Integer initTbAttResStagChar() {
      return baseMapper.initTbAttResStagChar();
   }
   /**
    * 初始化水库基础信息填报表
    */
   private Integer initTbAttResBase() {
      Integer i = baseMapper.initTbAttResBase();
      return i;
   }
}