From 00165e5d50f47c99d9eb7c2fc784bef4d3f72aca Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 16 Nov 2023 15:05:24 +0800
Subject: [PATCH] 预测返回测站名称
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 46 insertions(+), 6 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 d4fed4d..d79431d 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,19 @@
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
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
@@ -52,6 +57,11 @@
});
}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 -> {
//循环预测请求
@@ -70,8 +80,15 @@
}
@Override
- public List<ArimaPredict> getFutureData(String resCd,String type) {
- List<ArimaPredict> futureData = baseMapper.getFutureData(resCd, type);
+ public List<ArimaPredictVO> getFutureData(String resCd, String type) {
+ List<ArimaPredictVO> futureData = new ArrayList<>();
+ if (type.equals("3")){
+ //位移另一张表
+ futureData=baseMapper.getFutureDataWy(resCd,type);
+ }else{
+ futureData = baseMapper.getFutureData(resCd, type);
+ }
+
futureData.forEach(arimaPredict -> {
arimaPredict.setPredicts(JSON.parse(arimaPredict.getPredicts().toString()));
});
@@ -89,8 +106,9 @@
if (list.size()>0){
//删除该数据,添加最新数据
- baseMapper.deleteById(list.get(0));
- return super.save(entity);
+// baseMapper.deleteById(list.get(0));
+// return super.save(entity);
+ return false;
}else {
return super.save(entity);
}
@@ -103,13 +121,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