From 69fed82b8803220f661eebbda8eb5645f09bd136 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 16 Aug 2023 15:04:35 +0800
Subject: [PATCH] 水位预报数据处理
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 36 insertions(+), 21 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
index 61aa3de..e07e94e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
@@ -3,8 +3,6 @@
import cn.gistack.common.utils.CommonUtil;
import cn.gistack.nky.resultpojo.HsybGetFuturePo;
import cn.gistack.nky.service.IHsybService;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.http.HttpEntity;
@@ -82,37 +80,54 @@
Date tomorrowDate = new Date(time);
String tomorrow = DateUtil.format(tomorrowDate, formatter);
- //过滤空值数据,过滤过去时间
+
+ String nowHour = DateUtil.format(new Date(),"HH");
+
+ //过滤空值数据
List<List<String>> collect = data.stream().filter(item -> item.get(0) != null).collect(Collectors.toList());
- Integer index = findIndex(collect, "/");
- //对0点时间添加日期
- if (index>-1){
- collect.get(index).set(0,tomorrow + collect.get(index).get(0).substring(5));
- }
-
- for (int i = 0; i < collect.size(); i++) {
- if (i<index && index>-1){
- collect.get(i).set(0,today + " " + collect.get(i).get(0));
- }else if (i>index && index>-1){
- collect.get(i).set(0,tomorrow + " " + collect.get(i).get(0));
- }else if ( i!= index && index == -1){
- collect.get(i).set(0,today + " " + collect.get(i).get(0));
+ //切割过去数据
+ Integer nowIndex = findIndex(collect, nowHour);
+ List<List<String>> subList = collect.subList(nowIndex, collect.size());
+ int index = -1;
+ //添加日期
+ for (int i = 0; i < subList.size(); i++) {
+ List<String> temp = subList.get(i);
+ if (index == -1 && temp.get(0).indexOf("/")>-1){
+ index = i;
+ temp.set(0,tomorrow + " " +temp.get(0).substring(5));
}
+
+ if (index != -1){
+ temp.set(0,tomorrow + " " + temp.get(0).substring(5));
+ }else {
+ //给后面的时间添加今天的日期
+ temp.set(0,today + " " + temp.get(0));
+ }
+
}
- //筛选出未来时间
- List<List<String>> filterData = collect.stream().filter(item -> CommonUtil.strToDate(item.get(0)).after(DateUtil.now())).collect(Collectors.toList());
//截取掉时间部分
- filterData.forEach(e->{
+ subList.forEach(e->{
e.set(0,e.get(0).split(" ")[0]);
});
//去除重复数据
- List<List<String>> collect1 = filterData.stream().distinct().collect(Collectors.toList());
+ List<List<String>> distinctList = subList.stream().distinct().collect(Collectors.toList());
- return collect1;
+
+ //去重
+ for ( int i = 0 ; i < distinctList.size() - 1 ; i ++ ) {
+ for ( int j = distinctList.size() - 1 ; j > i; j -- ) {
+ // 这里是对象的比较,如果去重条件不一样,在这里修改即可
+ if (distinctList.get(j).get(0).equals(distinctList.get(i).get(0))) {
+ distinctList.remove(i);
+ }
+ }
+ }
+
+ return distinctList;
}
public Integer findIndex(List<List<String>> list,String reg){
--
Gitblit v1.9.3