From 394738cf23b8f9fdcbeb3375351c93ed899994f2 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 04 Aug 2023 17:52:57 +0800
Subject: [PATCH] hst预测,arima预测分离;

---
 skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java                                   |   17 +++++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java                 |    8 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java |   32 +++++++++-
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java            |    8 +-
 skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java   |   20 ++++++
 skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java  |    6 +-
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java                |    1 
 skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java     |   60 +++++++++++++------
 skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java              |    5 +
 9 files changed, 126 insertions(+), 31 deletions(-)

diff --git a/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java b/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java
index 14eb083..e966fc3 100644
--- a/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/CommonUtil.java
+++ b/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;
+	}
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
index ae5f749..e75812a 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
+++ b/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;
 
 /**
  * 南科院判定异常查询实体类
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java
index f4d9b0d..83c9632 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java
+++ b/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;
 	}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java
new file mode 100644
index 0000000..c293197
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/resultpojo/HsybGetFuturePo.java
@@ -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;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
index d296231..3883f7b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
+++ b/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()));
 	}
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java
new file mode 100644
index 0000000..a6f6b31
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHsybService.java
@@ -0,0 +1,8 @@
+package cn.gistack.nky.service;
+
+import java.util.List;
+
+public interface IHsybService {
+
+	List<List<String>> getFuture(String resCd);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
index 0988382..e5f1069 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
+++ b/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;
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java
index e7558a0..a89259d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java
+++ b/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
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
index 97abf07..eaad23d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/NkyXxlJob.java
+++ b/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(){

--
Gitblit v1.9.3