From fa587b833a85c8720a751aacc59d09da14f7280c Mon Sep 17 00:00:00 2001 From: llw <18235445130@163.com> Date: Thu, 17 Aug 2017 09:30:56 +0800 Subject: [PATCH] 提交 --- src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BerthsStatisticController.java | 48 ++++++++++++++++++++++++++++++++---------------- src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- 2 files changed, 86 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BerthsStatisticController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BerthsStatisticController.java index 45b30d4..6daaf0a 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BerthsStatisticController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BerthsStatisticController.java @@ -235,12 +235,21 @@ public class BerthsStatisticController extends BizController { // 1个小时为一个时间戳 request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR); int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY); - for (int i = 0; i <= totaltimestampCount; i++) { - String hour = String.format("%02d", i); - xAxisData.add(hour + ":" + "00"); + String day = ""; + String month = ""; + for (int i = 0; i < dayDifference.intValue(); i++) { + beginTime.add(Calendar.DAY_OF_MONTH, 1); + int beginMonth = beginTime.get(Calendar.MONTH) + 1; + int beginDay = beginTime.get(Calendar.DAY_OF_MONTH); + month = String.format("%02d", (beginMonth)); + day = String.format("%02d", (beginDay)); + for (int j = 0; j < totaltimestampCount; j++) { + String hour = String.format("%02d", (j)); + xAxisData.add(month + "-" + day + " " + hour); + } } request.setBaseRequest(new BaseInfo(1, 0)); - dateType="HH:mm"; + dateType="MM-dd HH"; LineChartVO freeBerthRatios=getFreeBerthRatios(request, xAxisData, dateType,berthRatio); return new BizResultVO().setData(freeBerthRatios); } else if (dayDifference <= 3L) { @@ -300,6 +309,7 @@ public class BerthsStatisticController extends BizController { throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间"); } Calendar beginTime = Calendar.getInstance(); + int year=beginTime.get(Calendar.YEAR); beginTime.setTime(request.getBeginTime()); Calendar endTime = Calendar.getInstance(); @@ -309,18 +319,26 @@ public class BerthsStatisticController extends BizController { new Timestamp(request.getBeginTime().getTime())); List xAxisData = Lists.newArrayList(); String dateType=""; + request.setBaseRequest(new BaseInfo(1, 0)); int berthRatio=ParkConstant.ParkingLotUseStatistic.BerthRatioType.TURNOVER; if (dayDifference == 0L) { //1个小时为一个时间戳 request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR); int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY); - for (int j = 0; j <= totaltimestampCount; j++) { - String hour = String.format("%02d", (j)); - xAxisData.add(hour + ":" + "00"); + String day = ""; + String month = ""; + for (int i = 0; i < dayDifference.intValue(); i++) { + beginTime.add(Calendar.DAY_OF_MONTH, 1); + int beginMonth = beginTime.get(Calendar.MONTH) + 1; + int beginDay = beginTime.get(Calendar.DAY_OF_MONTH); + month = String.format("%02d", (beginMonth)); + day = String.format("%02d", (beginDay)); + for (int j = 0; j < totaltimestampCount; j++) { + String hour = String.format("%02d", (j)); + xAxisData.add(year+"-"+month + "-" + day + " " + hour); + } } - - request.setBaseRequest(new BaseInfo(1, 0)); - dateType="HH:mm"; + dateType="yyyy-MM-dd HH"; LineChartVO freeBerthRatios=getFreeBerthRatios(request, xAxisData, dateType,berthRatio); return new BizResultVO().setData(freeBerthRatios); } else if (dayDifference <= 3L) { @@ -337,11 +355,10 @@ public class BerthsStatisticController extends BizController { day = String.format("%02d", (beginDay)); for (int j = 0; j < totaltimestampCount; j++) { String hour = String.format("%02d", (j)); - xAxisData.add(month + "-" + day + " " + hour); + xAxisData.add(year+"-"+month + "-" + day + " " + hour); } } - request.setBaseRequest(new BaseInfo(1, 0)); - dateType="MM-dd HH"; + dateType="yyyy-MM-dd HH"; LineChartVO freeBerthRatios=getFreeBerthRatios(request, xAxisData, dateType,berthRatio); return new BizResultVO().setData(freeBerthRatios); } else { @@ -353,10 +370,9 @@ public class BerthsStatisticController extends BizController { int beginDay = beginTime.get(Calendar.DAY_OF_MONTH); String month = String.format("%02d", (beginMonth)); String day = String.format("%02d", (beginDay)); - xAxisData.add(month + "-" + day); + xAxisData.add(year+"-"+month + "-" + day); } - request.setBaseRequest(new BaseInfo(1, 0)); - dateType="MM-dd"; + dateType="yyyy-MM-dd"; LineChartVO freeBerthRatios=getFreeBerthRatios(request, xAxisData, dateType,berthRatio); return new BizResultVO().setData(freeBerthRatios); } diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java index d4597e7..2d4a56f 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java @@ -95,9 +95,9 @@ public class VehicleFlowStatisticController extends BizController { @ResponseBody public BizResultVO> queryParkingLotUseStatisticForPage( @RequestBody ParkingLotUseStatisticForPageRequest request) throws Exception { - if (null == request.getBeginTime() || null==request.getEndTime()) { - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间"); - } + if (null == request.getBeginTime() || null == request.getEndTime()) { + throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间"); + } Calendar beginc = Calendar.getInstance(); beginc.setTime(request.getBeginTime()); int beginYear = beginc.get(Calendar.YEAR); @@ -220,7 +220,7 @@ public class VehicleFlowStatisticController extends BizController { * * @param request * @return - * @throws Exception + * @throws Exception */ @ApiOperation("根据时间获取车流量折线图") @PostMapping("getVehicleFlowForLineChart") @@ -228,22 +228,22 @@ public class VehicleFlowStatisticController extends BizController { public BizResultVO getVehicleFlowForLineChart( @RequestBody ParkingLotUseStatisticForPageRequest request) throws Exception { - if (null == request.getBeginTime() || null==request.getEndTime()) { - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间"); - } - //2.调用接口查询当前登录人管辖的停车场名称 + if (null == request.getBeginTime() || null == request.getEndTime()) { + throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间"); + } + // 2.调用接口查询当前登录人管辖的停车场名称 UserInfo userInfo = sessionCommUtil.getUserInfo(); List plNos = new ArrayList<>(); - if(userInfo!=null){ + if (userInfo != null) { TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); tdCompanyParkQueryRequest.setSessionId(session.getId()); tdCompanyParkQueryRequest.setSysCode(sysCode); BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest); - //拥有的停车场编号 + // 拥有的停车场编号 plNos = ResultUtils.getBizResultData(bizResult); } - if(CollectionUtils.isEmpty(plNos)){ + if (CollectionUtils.isEmpty(plNos)) { throw new BizException(ErrorType.PARK_LOT_NOT_EXISTS, "停车场plnos不存在"); } request.setPlNos(plNos); @@ -251,7 +251,7 @@ public class VehicleFlowStatisticController extends BizController { logger.info("根据停车场编号获取该停车场今日车流量和车位折线图"); Calendar beginTime = Calendar.getInstance(); beginTime.setTime(request.getBeginTime()); - + int year=beginTime.get(Calendar.YEAR); Calendar endTime = Calendar.getInstance(); endTime.setTime(request.getEndTime()); @@ -259,19 +259,27 @@ public class VehicleFlowStatisticController extends BizController { new Timestamp(request.getBeginTime().getTime())); List xAxisData = Lists.newArrayList(); request.setBaseRequest(new BaseInfo(1, 0)); - String dateType=""; - + String dateType = ""; + if (dayDifference == 0L) { - // 20分钟为一个时间戳 - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER20MINUTE); - int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY) * 3; - for (int i = 0; i < totaltimestampCount; i++) { - String hour = String.format("%02d", (i / 3)); - String minute = String.format("%02d", (i % 3) * 20); - xAxisData.add(hour + ":" + minute); + // 1小时为一个时间戳 + request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR); + int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY); + String day = ""; + String month = ""; + for (int i = 0; i < dayDifference.intValue(); i++) { + beginTime.add(Calendar.DAY_OF_MONTH, 1); + int beginMonth = beginTime.get(Calendar.MONTH) + 1; + int beginDay = beginTime.get(Calendar.DAY_OF_MONTH); + month = String.format("%02d", (beginMonth)); + day = String.format("%02d", (beginDay)); + for (int j = 0; j < totaltimestampCount; j++) { + String hour = String.format("%02d", (j)); + xAxisData.add(year+"-"+month + "-" + day + " " + hour); + } } - dateType="HH:mm"; - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType); + dateType = "yyyy-MM-dd HH"; + LineChartVO vehicleFlows = getVehicleFlows(request, xAxisData, dateType); return new BizResultVO().setData(vehicleFlows); } else if (dayDifference <= 3L) { @@ -288,11 +296,11 @@ public class VehicleFlowStatisticController extends BizController { day = String.format("%02d", (beginDay)); for (int j = 0; j < totaltimestampCount; j++) { String hour = String.format("%02d", (j)); - xAxisData.add(month + "-" + day + " " + hour); + xAxisData.add(year+"-"+month + "-" + day + " " + hour); } } - dateType="MM-dd HH"; - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType); + dateType = "yyyy-MM-dd HH"; + LineChartVO vehicleFlows = getVehicleFlows(request, xAxisData, dateType); return new BizResultVO().setData(vehicleFlows); } else { @@ -304,20 +312,19 @@ public class VehicleFlowStatisticController extends BizController { int beginDay = beginTime.get(Calendar.DAY_OF_MONTH); String month = String.format("%02d", (beginMonth)); String day = String.format("%02d", (beginDay)); - xAxisData.add(month + "-" + day); + xAxisData.add(year+"-"+month + "-" + day); } - dateType="MM-dd"; - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType); + dateType = "yyyy-MM-dd"; + LineChartVO vehicleFlows = getVehicleFlows(request, xAxisData, dateType); return new BizResultVO().setData(vehicleFlows); } } - - - private LineChartVO getVehicleFlows(ParkingLotUseStatisticForPageRequest request, - List xAxisData,String dateType){ + + private LineChartVO getVehicleFlows(ParkingLotUseStatisticForPageRequest request, List xAxisData, + String dateType) { // 调用后场服务 logger.info("调用DUBBO服务入参:" + JSON.toJSONString(request)); BizResult> bizResult = parkingLotStatisticService @@ -341,9 +348,13 @@ public class VehicleFlowStatisticController extends BizController { String key = statisticDTO.getPlNo(); parkNameMap.put(key, statisticDTO.getPlName()); String statisBeginTime = DateUtil.getDateString(statisticDTO.getStatisticBeginTime(), dateType); - //保存固定车流量和临时车流量 - fixVehicleFlowMap.put(statisBeginTime, (fixVehicleFlowMap.get(statisBeginTime)==null?0:fixVehicleFlowMap.get(statisBeginTime))+statisticDTO.getFixVehicleFlow()); - tmpVehicleFlowMap.put(statisBeginTime, (tmpVehicleFlowMap.get(statisBeginTime)==null?0:tmpVehicleFlowMap.get(statisBeginTime))+statisticDTO.getTmpVehicleFlow()); + // 保存固定车流量和临时车流量 + fixVehicleFlowMap.put(statisBeginTime, + (fixVehicleFlowMap.get(statisBeginTime) == null ? 0 : fixVehicleFlowMap.get(statisBeginTime)) + + statisticDTO.getFixVehicleFlow()); + tmpVehicleFlowMap.put(statisBeginTime, + (tmpVehicleFlowMap.get(statisBeginTime) == null ? 0 : tmpVehicleFlowMap.get(statisBeginTime)) + + statisticDTO.getTmpVehicleFlow()); } } @@ -370,14 +381,14 @@ public class VehicleFlowStatisticController extends BizController { if (fixVehicleFlowMap.containsKey(timestamp)) { lastfixFlow = fixVehicleFlowMap.get(timestamp).intValue(); - }else{ - lastfixFlow =0; + } else { + lastfixFlow = 0; } fixSerieVoData.add(lastfixFlow); if (tmpVehicleFlowMap.containsKey(timestamp)) { lasttmpFlow = tmpVehicleFlowMap.get(timestamp).intValue(); - }else{ + } else { lasttmpFlow = 0; } tmpSerieVoData.add(lasttmpFlow); @@ -390,16 +401,15 @@ public class VehicleFlowStatisticController extends BizController { vehicleFlows.setSeries(vehicleSeries); return vehicleFlows; } - + public static void main(String[] args) { - String json="{\"id\":\"1\",\"platform\":\"android\",\"parameter\":{\"drid\":\"177277364\",\"sex\":\"1\",\"type\":\"2\",\"creatorname\":\"Mrw\",\"username\":\"jack\",\"pwd\":\"123456\",\"remark\":\"平板用户\",\"createtime\":\"2017-07-24 23:59:59\"}}"; - JSONObject object =(JSONObject)JSONObject.parse(json); + String json = "{\"id\":\"1\",\"platform\":\"android\",\"parameter\":{\"drid\":\"177277364\",\"sex\":\"1\",\"type\":\"2\",\"creatorname\":\"Mrw\",\"username\":\"jack\",\"pwd\":\"123456\",\"remark\":\"平板用户\",\"createtime\":\"2017-07-24 23:59:59\"}}"; + JSONObject object = (JSONObject) JSONObject.parse(json); System.out.println(object.get("id")); System.out.println(object.get("platform")); - JSONObject parameter =(JSONObject)object.get("parameter"); + JSONObject parameter = (JSONObject) object.get("parameter"); System.out.println(parameter.get("drid")); System.out.println(parameter.get("sex")); } - } -- libgit2 0.21.4