guoshilong
2024-01-29 dc6668a538e1ef545fb5437f29f1db8d03af07da
南科院预测修改
1 files modified
147 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java 147 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
@@ -26,11 +26,11 @@
@Service
public class HstPredictServiceImpl extends ServiceImpl<HstPredictMapper, HstPredict> implements IHstPredictService {
    @Autowired
    private  INkyService nkyService;
    private INkyService nkyService;
    @Autowired
    private  IZtApiService ztApiService;
    private IZtApiService ztApiService;
    @Autowired
    private  IHsybService hsybService;
    private IHsybService hsybService;
    @Override
@@ -58,85 +58,84 @@
        List<DataResChildrenPo> collect = cdList.stream().filter(item -> item.getRes_cd().equals("42011640018") || item.getRes_cd().equals("42128140006")).collect(Collectors.toList());
        if (type.equals("1")){
        if (type.equals("1")) {
            //渗压
            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);
                    }
//                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("2")){
        } 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);
                    }
//                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")){
        } else if (type.equals("3") || type.equals("4") || type.equals("5")) {
            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 arimaPredictReqPoX = new HstPredictReqPo(dataResChildrenPo, "3",po);
                        nkyService.hstPredict(arimaPredictReqPoX);
//                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 arimaPredictReqPoX = new HstPredictReqPo(dataResChildrenPo, "3", po);
                    nkyService.hstPredict(arimaPredictReqPoX);
                        HstPredictReqPo arimaPredictReqPoY= new HstPredictReqPo(dataResChildrenPo, "4",po);
                        nkyService.hstPredict(arimaPredictReqPoY);
                    HstPredictReqPo arimaPredictReqPoY = new HstPredictReqPo(dataResChildrenPo, "4", po);
                    nkyService.hstPredict(arimaPredictReqPoY);
                        HstPredictReqPo arimaPredictReqPoZ = new HstPredictReqPo(dataResChildrenPo, "5",po);
                        nkyService.hstPredict(arimaPredictReqPoZ);
                    }
                    HstPredictReqPo arimaPredictReqPoZ = new HstPredictReqPo(dataResChildrenPo, "5", po);
                    nkyService.hstPredict(arimaPredictReqPoZ);
                }
//                }
            });
        }
        resCd = "";
@@ -145,17 +144,17 @@
    @Override
    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);
        if (type.equals("3")) {
            list = baseMapper.getFutureDataWy(resCd, type);
        } else {
            list = baseMapper.getFutureData(resCd, type);
        }
        list.forEach(hstPredict -> {
            if (hstPredict.getPredictList() != null){
            if (hstPredict.getPredictList() != null) {
                hstPredict.setPredictList(JSON.parse(hstPredict.getPredictList().toString()));
            }else {
            } else {
                hstPredict.setPredictList("[]");
            }
            hstPredict.setPreWaterList(JSON.parse(hstPredict.getPreWaterList().toString()));
@@ -173,12 +172,12 @@
        List<HstPredict> list = baseMapper.selectTodayData(entity);
        if (list.size()>0){
        if (list.size() > 0) {
            //删除该数据,添加最新数据
//            baseMapper.deleteById(list.get(0));
//            return super.save(entity);
                return false;
        }else {
            return false;
        } else {
            return super.save(entity);
        }
    }