From 5831d6357e0976c03b7f2260ca4e9eb04bdb2be2 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 16 Dec 2024 15:56:13 +0800
Subject: [PATCH] 结果赋值

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java |  103 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 87 insertions(+), 16 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..3e9bd67 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
@@ -1,5 +1,6 @@
 package cn.gistack.nky.service.impl;
 
+import cn.gistack.common.utils.CommonUtil;
 import cn.gistack.nky.entity.ArimaPredict;
 import cn.gistack.nky.mapper.ArimaPredictMapper;
 import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
@@ -8,15 +9,21 @@
 import cn.gistack.nky.service.IArimaPredictService;
 import cn.gistack.nky.service.INkyService;
 import cn.gistack.nky.service.IZtApiService;
+import cn.gistack.nky.vo.ArimaPredictVO;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mysql.cj.util.StringUtils;
 import lombok.AllArgsConstructor;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @AllArgsConstructor
@@ -42,11 +49,57 @@
 	@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")){
+			//渗流
+			cdList.forEach(dataResChildrenPo -> {
+				ArimaPredictReqPo arimaPredictReqPo = new ArimaPredictReqPo(dataResChildrenPo, type);
+				//循环预测请求
+				nkyService.arimaPredict(arimaPredictReqPo);
+			});
+		}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<ArimaPredictVO> getFutureData(String resCd, String type) {
+		List<ArimaPredictVO> futureData = new ArrayList<>();
+		if (type.equals("3")){
+			//位移另一张表
+//			futureData=baseMapper.getFutureDataWy(resCd,type);
+			futureData=baseMapper.getFutureDataWy2(resCd,type);
+		}else{
+//			 futureData = baseMapper.getFutureData(resCd, type);
+			 futureData = baseMapper.getFutureData2(resCd, type);
+		}
+
+		futureData.forEach(arimaPredict -> {
+//			arimaPredict.setValue(JSON.parse(arimaPredict.getValue()).toString());
+			if (!Strings.isBlank(arimaPredict.getValue())) {
+				arimaPredict.setPredicts(JSON.parse(arimaPredict.getValue()));
+			}
 		});
+		return futureData;
 	}
 
 	@Override
@@ -56,17 +109,13 @@
 			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);
+				return false;
 		}else {
 			return super.save(entity);
 		}
@@ -79,13 +128,35 @@
 			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();
 		}else {
 			return null;
 		}
-		return cdList;
+		List<DataResChildrenPo> filterList = filterTimeList(cdList, 24);
+		return filterList;
+	}
+
+	/**
+	 * 筛选时间内的集合
+	 * @param sourceList
+	 * @param timeGap
+	 * @return
+	 */
+	public List<DataResChildrenPo> filterTimeList(List<DataResChildrenPo> sourceList,Integer timeGap){
+		//当前时间的时间戳
+		Long todayTimeStamp = DateUtil.now().getTime();
+
+		//过去时间的时间戳
+		Long beforeTimeStamp = todayTimeStamp - 1000*60*60*timeGap;
+
+		//过去时间的日期
+		Date beforeDate = new Date(beforeTimeStamp);
+
+		List<DataResChildrenPo> collect = sourceList.stream().filter(item -> CommonUtil.strToDate(item.getTm()).after(beforeDate)).collect(Collectors.toList());
+
+		return collect;
 	}
 }

--
Gitblit v1.9.3