From 3c096d3cfd56a23e6794f30ccd150bfe19aa4ae8 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 11 Aug 2023 14:27:25 +0800
Subject: [PATCH] arima预测和hst预测更新最新数据;对预报水位去重

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 38 insertions(+), 14 deletions(-)

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..d4fed4d 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
@@ -8,8 +8,8 @@
 import cn.gistack.nky.service.IArimaPredictService;
 import cn.gistack.nky.service.INkyService;
 import cn.gistack.nky.service.IZtApiService;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mysql.cj.util.StringUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.utils.ObjectUtil;
@@ -42,11 +42,40 @@
 	@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
+	public List<ArimaPredict> getFutureData(String resCd,String type) {
+		List<ArimaPredict> futureData = baseMapper.getFutureData(resCd, type);
+		futureData.forEach(arimaPredict -> {
+			arimaPredict.setPredicts(JSON.parse(arimaPredict.getPredicts().toString()));
 		});
+		return futureData;
 	}
 
 	@Override
@@ -56,17 +85,12 @@
 			return false;
 		}
 
-		//遍历表中当前水库,当前测点,当前类型的数据,检查是否有重复数据
-		ArimaPredict params = new ArimaPredict();
-		params.setDamId(entity.getDamId());
-		params.setPointId(entity.getPointId());
-		params.setType(entity.getType());
-		params.setCreateTime(entity.getCreateTime());
-
-		List<ArimaPredict> list = list(Condition.getQueryWrapper(params));
+		List<ArimaPredict> list = baseMapper.selectTodayData(entity);
 
 		if (list.size()>0){
-			return false;
+			//删除该数据,添加最新数据
+			baseMapper.deleteById(list.get(0));
+			return super.save(entity);
 		}else {
 			return super.save(entity);
 		}

--
Gitblit v1.9.3