| | |
| | | Long userId = tokenService.getLoginUser().getUserid(); |
| | | //获取当前登录的siteIds |
| | | List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData(); |
| | | for (GetSiteListDTO datum : data) { |
| | | siteIds.add(datum.getId()); |
| | | if (data != null) { |
| | | for (GetSiteListDTO datum : data) { |
| | | siteIds.add(datum.getId()); |
| | | } |
| | | } |
| | | } else { |
| | | siteIds.add(statisticsQueryDto.getSiteId()); |
| | | } |
| | | String format = statisticsQueryDto.getSelectDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | if (siteIds.isEmpty()) { |
| | | siteIds.add(-1); |
| | | } |
| | | LocalDateTime selectDate = statisticsQueryDto.getSelectDate() == null ? LocalDateTime.now() : statisticsQueryDto.getSelectDate(); |
| | | String format = selectDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | Map<String, Object> stringObjectMap = chargingOrderService.getChargingOrderCount(siteIds, format); |
| | | //当日的订单总数 |
| | | int size = 0; |
| | |
| | | //计算list中charging_capacity的总和 |
| | | BigDecimal totalChargingCapacity = BigDecimal.ZERO; |
| | | if(null != stringObjectMap){ |
| | | size = Integer.parseInt(stringObjectMap.get("num").toString()); |
| | | totalElectrovalence = new BigDecimal(stringObjectMap.get("electrovalence").toString()); |
| | | totalServiceCharge = new BigDecimal(stringObjectMap.get("servicecharge").toString()); |
| | | totalChargingCapacity = new BigDecimal(stringObjectMap.get("electricity").toString()); |
| | | size = getWorkChargeInt(stringObjectMap, "num"); |
| | | totalElectrovalence = getWorkChargeDecimal(stringObjectMap, "electrovalence"); |
| | | totalServiceCharge = getWorkChargeDecimal(stringObjectMap, "servicecharge"); |
| | | totalChargingCapacity = getWorkChargeDecimal(stringObjectMap, "electricity"); |
| | | totalPaymentAmount = totalElectrovalence.add(totalServiceCharge); |
| | | } |
| | | |
| | |
| | | tCharingWorkVO.setTotalChargingCapacity(totalChargingCapacity); |
| | | return R.ok(tCharingWorkVO); |
| | | } |
| | | |
| | | private int getWorkChargeInt(Map<String, Object> map, String key) { |
| | | Object value = map.get(key); |
| | | if (value == null) { |
| | | return 0; |
| | | } |
| | | if (value instanceof Number) { |
| | | return ((Number) value).intValue(); |
| | | } |
| | | return Integer.parseInt(value.toString()); |
| | | } |
| | | |
| | | private BigDecimal getWorkChargeDecimal(Map<String, Object> map, String key) { |
| | | Object value = map.get(key); |
| | | if (value == null) { |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if (value instanceof BigDecimal) { |
| | | return (BigDecimal) value; |
| | | } |
| | | if (value instanceof Number) { |
| | | return BigDecimal.valueOf(((Number) value).doubleValue()); |
| | | } |
| | | return new BigDecimal(value.toString()); |
| | | } |
| | | |
| | | |
| | | |