diff --git a/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java index fc5a3cbda..f7566a91c 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/DataTowerServiceImpl.java @@ -124,23 +124,58 @@ public class DataTowerServiceImpl implements DataTowerService { params.put("tenantId",tenantId); params.put("cmdType",EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode()); String startdate = DateUtils.getTimeBefore(7, new Date()); - String enddate = DateUtils.getSystemTime("yyyy-MM-dd"); - params.put("startdate",startdate); - params.put("enddate",enddate); + String systemTime = DateUtils.getSystemTime("yyyy-MM-dd"); + + List tjTimeList = DateUtils.getTjTimeList(startdate, systemTime, "0"); + + params.put("startdate",startdate+" 00:00:00"); + params.put("enddate",systemTime+" 23:59:59"); List> historylist=wxCarCmdLogMapper.queryHistory(params); + Map collect = historylist.stream().collect(Collectors.toMap(m -> { return m.get("create_date"); }, m -> { return m.get("carcount"); })); + for(String date:tjTimeList){ + Object o = collect.get(date); + if(o==null){ + collect.put(date,0l); + } + } + TreeMap historymap = new TreeMap<>(); historymap.putAll(collect); Map datamap = new HashMap<>(); datamap.put("history",historymap); + //今日车流量 + long todaycar = (long) collect.get(systemTime); + datamap.put("todaycar",todaycar); + //环比 + long yesterdaycar = (long) collect.get(tjTimeList.get(8 - 2)); + if(yesterdaycar>0){ + double hbd = (double) (todaycar - yesterdaycar) / yesterdaycar *100; + double hb = new BigDecimal(hbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("hb",hb); + }else{ + datamap.put("hb","--"); + } + + //上周同期 + long last = (long) collect.get(tjTimeList.get(0)); + if(last>0){ + double lasthbd = (double) (todaycar - last) / last *100; + double lasthb = new BigDecimal(lasthbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("lasthb",lasthb); + }else{ + datamap.put("lasthb","--"); + } + + return datamap; }