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