From bfd74f51e9b832cd9a99aa41c5ed6faa9c9c0be6 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 11 Jan 2024 11:49:40 +0800
Subject: [PATCH] 水位时间过滤规则修改
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 71 insertions(+), 48 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 74b8e26..47c9d08 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
@@ -75,61 +75,84 @@
* @return
*/
public List<List<String>> filterPredictData(List<List<String>> data) {
- String formatter = "yyyy-MM-dd";
- String today = DateUtil.format(new Date(), formatter);
- Long time = new Date().getTime() + 60 * 60 * 24 * 1000;
- Date tomorrowDate = new Date(time);
- String tomorrow = DateUtil.format(tomorrowDate, formatter);
+ //获取当前时间
+ String formatter = "HH:00";
+ String nowTime = DateUtil.format(new Date(), formatter);
+ //获取等于当前时间的水位数据
+ List<List<String>> collect = data.stream().filter(infoList -> infoList.get(0).equals(nowTime)).collect(Collectors.toList());
- String nowHour = DateUtil.format(new Date(),"HH");
-
- //过滤空值数据
- List<List<String>> collect = data.stream().filter(item -> item.get(0) != null).collect(Collectors.toList());
-
- //切割过去数据
- 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));
- }
-
- }
-
-
- //截取掉时间部分
- subList.forEach(e->{
- e.set(0,e.get(0).split(" ")[0]);
+ collect.forEach(infoList->{
+ //给第一项重新赋值,因为后面取的是第一项,且预测参数时间只要日期
+ infoList.set(0,infoList.get(4).split(" ")[0]);
});
-
- //去除重复数据
- List<List<String>> distinctList = subList.stream().distinct().collect(Collectors.toList());
+ return collect;
- //去重
- 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;
+
+
+
+
+
+
+//
+// String formatter = "yyyy-MM-dd";
+// String today = DateUtil.format(new Date(), formatter);
+//
+// Long time = new Date().getTime() + 60 * 60 * 24 * 1000;
+// 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 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));
+// }
+//
+// }
+//
+//
+// //截取掉时间部分
+// subList.forEach(e->{
+// e.set(0,e.get(0).split(" ")[0]);
+// });
+//
+// //去除重复数据
+// List<List<String>> distinctList = subList.stream().distinct().collect(Collectors.toList());
+//
+//
+// //去重
+// 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