guoshilong
2023-11-16 00165e5d50f47c99d9eb7c2fc784bef4d3f72aca
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
@@ -11,6 +11,7 @@
import cn.gistack.nky.service.IHsybService;
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.service.IZtApiService;
import cn.gistack.nky.vo.HstPredictVO;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.mp.support.Condition;
@@ -83,6 +84,31 @@
         });
      }else if (type.equals("2")){
         //渗流
         collect.forEach(dataResChildrenPo -> {
            //所有水库请求预报数据
            if (!resCd.equals(dataResChildrenPo.getRes_cd())) {
               //请求预报水位
               List<List<String>> future = hsybService.getFuture(dataResChildrenPo.getRes_cd());
               resCd = dataResChildrenPo.getRes_cd();
               if (future != null && future.size() > 0) {
                  List<PredictWatersPo> po = new ArrayList<>();
                  future.forEach(item -> {
                     PredictWatersPo predictWatersPo = new PredictWatersPo();
                     //设置时间
                     predictWatersPo.setTime(item.get(0));
                     //设置预测水位
                     predictWatersPo.setValue(Double.parseDouble(item.get(2)));
                     po.add(predictWatersPo);
                  });
                  HstPredictReqPo arimaPredictReqPo = new HstPredictReqPo(dataResChildrenPo, type,po);
                  //循环预测请求
                  nkyService.hstPredict(arimaPredictReqPo);
               }
            }
         });
      }else if (type.equals("3") || type.equals("4") || type.equals("5")){
         collect.forEach(dataResChildrenPo -> {
            //所有水库请求预报数据
@@ -117,11 +143,21 @@
   }
   @Override
   public List<HstPredict> getFutureData(String resCd, String type) {
   public List<HstPredictVO> getFutureData(String resCd, String type) {
      List<HstPredictVO> list = new ArrayList<>();
      if (type.equals("3")){
         list = baseMapper.getFutureDataWy(resCd,type);
      }else {
          list = baseMapper.getFutureData(resCd,type);
      }
      List<HstPredict> list = baseMapper.getFutureData(resCd,type);
      list.forEach(hstPredict -> {
         hstPredict.setPredictList(JSON.parse(hstPredict.getPredictList().toString()));
         if (hstPredict.getPredictList() != null){
            hstPredict.setPredictList(JSON.parse(hstPredict.getPredictList().toString()));
         }else {
            hstPredict.setPredictList("[]");
         }
         hstPredict.setPreWaterList(JSON.parse(hstPredict.getPreWaterList().toString()));
      });
@@ -139,8 +175,9 @@
      if (list.size()>0){
         //删除该数据,添加最新数据
         baseMapper.deleteById(list.get(0));
         return super.save(entity);
//         baseMapper.deleteById(list.get(0));
//         return super.save(entity);
            return false;
      }else {
         return super.save(entity);
      }
@@ -153,7 +190,7 @@
         cdList = ztApiService.getSy();
      } else if (type.equals("2")) {
         //获取渗流测点
         return null;
         cdList = ztApiService.getSl();
      } else if (type.equals("3") || type.equals("4") || type.equals("5")) {
         //获取位移测点
         cdList = ztApiService.getWy();