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