From 2c8b914f70a8b2425d3ede5941bce1cabe9c2931 Mon Sep 17 00:00:00 2001 From: cjl <chenjl@deyt.cn> Date: Tue, 04 Jul 2023 20:50:32 +0800 Subject: [PATCH] 日期排序提交 --- screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java index b232159..65d397d 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java @@ -128,12 +128,7 @@ if (lon < 70 || lon > 150 || lat < 20 || lat > 60) { return true; } - if(type){ - o.putAll(value); - }else { - - } - + o.putAll(value); return false; }); /*for (Map<String, Object> map:data) { @@ -152,6 +147,7 @@ @Override public List<HistorySecondCruiserResultDTO> carTrajectoryNewAvg(Map<String, Object> params) { + double range = Double.valueOf(params.get("range").toString()); params.put("dateFormat", "%Y-%m-%d %H:%i:%s"); Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); @@ -174,7 +170,7 @@ if(CollectionUtils.isEmpty(data)){ return null; } - return filterDataNew(data); + return filterDataNew(data,range); } @Override public SpecialDevice getSpecialDeviceMapByMac(String mac) { @@ -557,7 +553,7 @@ return list; } //������������������������ - private List<HistorySecondCruiserResultDTO> filterDataNew(List<HistorySecondCruiserListDTO> data) { + private List<HistorySecondCruiserResultDTO> filterDataNew(List<HistorySecondCruiserListDTO> data,double range) { List<HistorySecondCruiserListDTO> list = new ArrayList<>(); Map<Integer, HistorySecondCruiserResultCountDTO> map = new HashMap<>(); Map<String, BigDecimal> mapTest = new HashMap<>(); @@ -573,7 +569,7 @@ boolean flag = true; for (HistorySecondCruiserListDTO l : list) { double distance = GeodesyUtils.getDistance(d.getFlyLat(), d.getFlyLon(), l.getFlyLat(), l.getFlyLon()); - if (distance < DIS_NEW) { + if (distance < range) { flag = false; if(integer.equals(list.size())&& !mapTest.containsKey(d.getFlyLon()+"_"+d.getFlyLat())){ HistorySecondCruiserResultCountDTO countResultDTO = Objects.isNull(map.get(integer))?new HistorySecondCruiserResultCountDTO():map.get(integer); @@ -589,6 +585,11 @@ if(!list.contains(d)){ list.add(d); integer++; + HistorySecondCruiserResultCountDTO countResultDTO = Objects.isNull(map.get(integer))?new HistorySecondCruiserResultCountDTO():map.get(integer); + countResultDTO.setSumNum(d.getNum()); + countResultDTO.setContNum(1); + map.put(integer,countResultDTO); + mapTest.put(d.getFlyLon()+"_"+d.getFlyLat(),d.getNum()); } } } @@ -621,7 +622,7 @@ } - private List<HistorySecondCruiserResultDTO> filterDataNew(List<HistorySecondCruiserListDTO> data, List<HistorySecondCruiserListDTO> list) { + private List<HistorySecondCruiserResultDTO> filterDataNew(List<HistorySecondCruiserListDTO> data, List<HistorySecondCruiserListDTO> list,double range) { List<HistorySecondCruiserResultDTO> listResult = new ArrayList<>(); List<HistorySecondCruiserListDTO> filter = new ArrayList<>(); for (HistorySecondCruiserListDTO d : data) { @@ -630,7 +631,7 @@ if (filter.contains(d)) { break; } - if (distance < DIS_NEW ) { + if (distance < range ) { List<BigDecimal> numList = new ArrayList<>(CollectionUtils.isEmpty(l.getNumList()) ? Arrays.asList(l.getNum()) : l.getNumList()); numList.add(d.getNum()); l.setNumList(numList); -- Gitblit v1.8.0