From b68f050349c35490b170a8f5e39af6dbba3ca04d Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 27 Aug 2018 16:42:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=95=B0=E6=8D=AE=E5=A1=94=E5=8F=B0][?= =?UTF-8?q?=E8=BD=A6=E6=B5=81=E6=95=B0=E6=8D=AE]:=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataTowerServiceImpl.java | 41 +++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) 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; }