| | |
| | | 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; |
| | |
| | | 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){ |