guoshilong
2023-08-04 394738cf23b8f9fdcbeb3375351c93ed899994f2
hst预测,arima预测分离;
7 files modified
2 files added
157 ■■■■ changed files
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java 32 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java 60 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java
@@ -16,6 +16,10 @@
 */
package cn.gistack.common.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * 通用工具类
 *
@@ -23,4 +27,17 @@
 */
public class CommonUtil {
    public static Date strToDate(String stringDate){
        //SimpleDateFormat 格式化日期所用到的类
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式为 年-月-日 如2017-09-16
        java.util.Date date = null;
        try {
            date = format.parse(stringDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
@@ -1,7 +1,12 @@
package cn.gistack.nky.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import org.springframework.data.annotation.Id;
/**
 * 南科院判定异常查询实体类
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java
@@ -23,9 +23,9 @@
    private List<PredictWatersPo> predictWaters;
    public HstPredictReqPo(String damId, String pointId, String type, List<PredictWatersPo> predictWaters) {
        this.damId = damId;
        this.pointId = pointId;
    public HstPredictReqPo(DataResChildrenPo dataResChildrenPo, String type, List<PredictWatersPo> predictWaters) {
        this.damId = dataResChildrenPo.getRes_cd();
        this.pointId = dataResChildrenPo.getCd();
        this.type = type;
        this.predictWaters = predictWaters;
    }
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java
New file
@@ -0,0 +1,20 @@
package cn.gistack.nky.resultpojo;
import lombok.Data;
import java.util.List;
@Data
public class HsybGetFuturePo {
    List<List<String>> data;
    String respCode;
    String message;
    String params;
    String success;
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
@@ -22,10 +22,10 @@
    @RabbitListener(queues = "alarm")
    public void processMessage(Message message) {
        AlarmGet alarmGet = JSONObject.parseObject(new String(message.getBody()), AlarmGet.class);
        alarmGetService.save(alarmGet);
        System.out.println("收到消息"+new String(message.getBody()));
//        AlarmGet alarmGet = JSONObject.parseObject(new String(message.getBody()), AlarmGet.class);
//        alarmGetService.save(alarmGet);
//
//        System.out.println("收到消息"+new String(message.getBody()));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java
New file
@@ -0,0 +1,8 @@
package cn.gistack.nky.service;
import java.util.List;
public interface IHsybService {
    List<List<String>> getFuture(String resCd);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
@@ -4,6 +4,7 @@
import cn.gistack.nky.resultpojo.DataBigResultPojo;
import cn.gistack.nky.resultpojo.DataResChildrenPo;
import cn.gistack.nky.resultpojo.DataResPo;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java
@@ -3,6 +3,8 @@
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.mapper.ArimaPredictMapper;
import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
import cn.gistack.nky.requestpojo.HstPredictReqPo;
import cn.gistack.nky.requestpojo.PredictWatersPo;
import cn.gistack.nky.requestpojo.QueryReqPo;
import cn.gistack.nky.resultpojo.DataResChildrenPo;
import cn.gistack.nky.service.IArimaPredictService;
@@ -42,11 +44,31 @@
    @Override
    public void predictData(String type) {
        List<DataResChildrenPo> cdList = getCdList(type);
        cdList.forEach(dataResChildrenPo -> {
            ArimaPredictReqPo arimaPredictReqPo = new ArimaPredictReqPo(dataResChildrenPo, type);
            //循环预测请求
            nkyService.arimaPredict(arimaPredictReqPo);
        });
        if (type.equals("1")){
            //渗压
                cdList.forEach(dataResChildrenPo -> {
                    ArimaPredictReqPo arimaPredictReqPo = new ArimaPredictReqPo(dataResChildrenPo, type);
                    //循环预测请求
                    nkyService.arimaPredict(arimaPredictReqPo);
                });
        }else if (type.equals("2")){
            //渗流
        }else if (type.equals("3") || type.equals("4") || type.equals("5")){
            cdList.forEach(dataResChildrenPo -> {
                //循环预测请求
                ArimaPredictReqPo arimaPredictReqPoX = new ArimaPredictReqPo(dataResChildrenPo, "3");
                nkyService.arimaPredict(arimaPredictReqPoX);
                ArimaPredictReqPo arimaPredictReqPoY = new ArimaPredictReqPo(dataResChildrenPo, "4");
                nkyService.arimaPredict(arimaPredictReqPoY);
                ArimaPredictReqPo arimaPredictReqPoZ = new ArimaPredictReqPo(dataResChildrenPo, "5");
                nkyService.arimaPredict(arimaPredictReqPoZ);
            });
        }
    }
    @Override
skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
@@ -1,8 +1,6 @@
package cn.gistack.job.executor.jobhandler;
import cn.gistack.nky.fegin.INkyClient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
@@ -28,7 +26,7 @@
    private final INkyClient nkyClient;
    /**
     * 南科院请求预测
     * 南科院Arima请求预测
     * @param param
     * @return
     * @throws Exception
@@ -39,16 +37,43 @@
        arimaPredict();
        XxlJobLogger.log("ArimaPredict预测结束...");
        XxlJobLogger.log("开始Hst预测...");
        hstPredict();
        XxlJobLogger.log("Hst预测结束...");
        XxlJobLogger.log("结束任务...");
        return ReturnT.SUCCESS;
    }
    /**
     * 南科院请求预测结果
     * 南科院Hst请求预测
     * @param param
     * @return
     * @throws Exception
     */
    @XxlJob("predictNkyHstDataJobHandler")
    public ReturnT<String> predictNkyHstDataJobHandler(String param){
        XxlJobLogger.log("开始Hst预测...");
        hstPredict();
        XxlJobLogger.log("Hst预测结束...");
        XxlJobLogger.log("结束任务...");
        return ReturnT.SUCCESS;
    }
    /**
     * 南科院Hst请求预测结果
     * @param param
     * @return
     * @throws Exception
     */
    @XxlJob("queryNkyHstDataJobHandler")
    public ReturnT<String> queryNkyHstDataJobHandler(String param){
        XxlJobLogger.log("开始Hst预测结果请求");
        hstQuery();
        XxlJobLogger.log("Hst预测结果请求结束");
        XxlJobLogger.log("结束任务...");
        return ReturnT.SUCCESS;
    }
    /**
     * 南科院Arima请求预测结果
     * @param param
     * @return
     * @throws Exception
@@ -57,23 +82,17 @@
    public ReturnT<String> queryNkyDataJobHandler(String param){
        XxlJobLogger.log("开始Arima预测结果请求");
        arimaQuery();
        XxlJobLogger.log("Arima预测结果请求结束");
        XxlJobLogger.log("开始Hst预测结果请求");
        hstQuery();
        XxlJobLogger.log("Hst预测结果请求结束");
        XxlJobLogger.log("结束任务...");
        return ReturnT.SUCCESS;
    }
    public void arimaPredict(){
        XxlJobLogger.log("渗压预测开始");
        nkyClient.arimaPredictData(SY);
        XxlJobLogger.log("位移预测开始");
        nkyClient.arimaPredictData(X);
        nkyClient.arimaPredictData(Y);
        nkyClient.arimaPredictData(Z);
    }
    public void arimaQuery(){
@@ -83,11 +102,14 @@
        nkyClient.arimaQueryData(Z);
    }
    /**
     * hst预测
     */
    public void hstPredict(){
        XxlJobLogger.log("渗压预测开始");
        nkyClient.hstPredictData(SY);
        XxlJobLogger.log("位移预测开始");
        nkyClient.hstPredictData(X);
        nkyClient.hstPredictData(Y);
        nkyClient.hstPredictData(Z);
    }
    public void hstQuery(){