| | |
| | | } |
| | | dto.setSiteIds(siteIds); |
| | | PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(), dto.getPageSize()); |
| | | // List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo, dto, startTime1, startTime2, endTime1, endTime2); |
| | | // List<Site> sites = siteClient.getSiteAll().getData(); |
| | | // List<Long> collect1 = list.stream().map(ChargingOrderListVO::getId).collect(Collectors.toList()); |
| | | // if(collect1.isEmpty()){ |
| | | // collect1.add(-1L); |
| | | // } |
| | | // List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = chargingOrderAccountingStrategyService.list(); |
| | | // for (ChargingOrderListVO chargingOrderListVO : list) { |
| | | // if (roleType == 2) { |
| | | // List<Boolean> data = partnerClient.getChargingListMenu(sysUser.getObjectId(), chargingOrderListVO.getSiteId()).getData(); |
| | | // chargingOrderListVO.setAuthInfo(data.get(0)); |
| | | // chargingOrderListVO.setAuthCurve(data.get(1)); |
| | | // } |
| | | // chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity()); |
| | | // BigDecimal bigDecimal = new BigDecimal("0.006"); |
| | | // if (chargingOrderListVO.getOrderAmount() != null) { |
| | | // chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getRechargeAmount().multiply(bigDecimal)); |
| | | // } |
| | | // chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getPaymentAmount()); |
| | | // chargingOrderListVO.setUid(chargingOrderListVO.getId() + ""); |
| | | // List<Integer> integers = new ArrayList<>(); |
| | | // integers.add(chargingOrderListVO.getSiteId()); |
| | | // Site site = sites.stream().filter(e -> e.getId().equals(chargingOrderListVO.getSiteId())).findFirst().orElse(null); |
| | | // if (site != null) { |
| | | // chargingOrderListVO.setSiteName(site.getName()); |
| | | // } |
| | | // if (chargingOrderListVO.getChargingGunId() != null && chargingOrderListVO.getChargingPileId() != null) { |
| | | // TChargingGun data1 = allGun.stream().filter(e -> e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); |
| | | // TChargingPile data2 = allPile.stream().filter(e -> e.getId().equals(chargingOrderListVO.getChargingPileId())).findFirst().orElse(null); |
| | | // if (data2 != null && data1 != null) { |
| | | // chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName()); |
| | | // } |
| | | // } |
| | | // if (chargingOrderListVO.getStartTime() != null && chargingOrderListVO.getEndTime() != null) { |
| | | // LocalDateTime startTime = chargingOrderListVO.getStartTime(); |
| | | // LocalDateTime endTime = chargingOrderListVO.getEndTime(); |
| | | // // 计算时间差 单位秒 |
| | | // long between = ChronoUnit.SECONDS.between(startTime, endTime); |
| | | // chargingOrderListVO.setChargingSecond(between); |
| | | // } |
| | | // // 获取开始SOC 结束soc |
| | | // if (chargingOrderListVO.getCode() != null) { |
| | | // UploadRealTimeMonitoringData asc = uploadRealTimeMonitoringDataService.getDataByOrderCode(chargingOrderListVO.getCode(), "asc"); |
| | | // UploadRealTimeMonitoringData desc = uploadRealTimeMonitoringDataService.getDataByOrderCode(chargingOrderListVO.getCode(), "desc"); |
| | | // if(null != asc){ |
| | | // chargingOrderListVO.setStartSoc(asc.getSoc().toString()); |
| | | // } |
| | | // if(null != desc){ |
| | | // chargingOrderListVO.setEndSoc(desc.getSoc().toString()); |
| | | // } |
| | | // } |
| | | // |
| | | // if (chargingOrderListVO.getAppUserId() != null) { |
| | | // TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData(); |
| | | // List<Long> carId = new ArrayList<>(); |
| | | // if (data3 != null) { |
| | | // if (chargingOrderListVO.getAppUserCarId() != null) { |
| | | // carId.add(chargingOrderListVO.getAppUserCarId()); |
| | | // if (!carId.isEmpty()) { |
| | | // List<TAppUserCar> data4 = appUserCarClient.getCarByIds(carId).getData(); |
| | | // if (data4 != null && !data4.isEmpty()) { |
| | | // chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate()); |
| | | // } |
| | | // } |
| | | // } else { |
| | | // chargingOrderListVO.setLicensePlate(chargingOrderListVO.getPlateNum()); |
| | | // } |
| | | // chargingOrderListVO.setPhone(data3.getPhone()); |
| | | // } |
| | | // } |
| | | // List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(s->s.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList()); |
| | | // // 尖峰平谷充电量 度数 |
| | | // BigDecimal jian = new BigDecimal("0"); |
| | | // BigDecimal feng = new BigDecimal("0"); |
| | | // BigDecimal ping = new BigDecimal("0"); |
| | | // BigDecimal gu = new BigDecimal("0"); |
| | | // BigDecimal total = new BigDecimal("0"); |
| | | // for (TChargingOrderAccountingStrategy temp : list2) { |
| | | // if (temp.getChargingCapacity() == null) { |
| | | // temp.setChargingCapacity(BigDecimal.ZERO); |
| | | // } |
| | | // switch (temp.getType()) { |
| | | // case 1: |
| | | // jian = jian.add(temp.getChargingCapacity()); |
| | | // break; |
| | | // case 2: |
| | | // feng = feng.add(temp.getChargingCapacity()); |
| | | // break; |
| | | // case 3: |
| | | // ping = ping.add(temp.getChargingCapacity()); |
| | | // break; |
| | | // case 4: |
| | | // gu = gu.add(temp.getChargingCapacity()); |
| | | // break; |
| | | // } |
| | | // } |
| | | // total = total.add(jian).add(feng).add(ping).add(gu); |
| | | // if (total.compareTo(new BigDecimal("0")) != 0) { |
| | | // chargingOrderListVO.setElectronicProportion( |
| | | // jian.divide(total, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) + "%(尖)/" |
| | | // + feng.divide(total, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) + "%(峰)/" |
| | | // + ping.divide(total, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) + "%(平)/" |
| | | // + gu.divide(total, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) + "%(谷)"); |
| | | // } else { |
| | | // chargingOrderListVO.setElectronicProportion( |
| | | // "0" + "%(尖)/" + |
| | | // "0" + "%(峰)/" + |
| | | // "0" + "%(平)/" + |
| | | // "0" + "%(谷)"); |
| | | // } |
| | | // if (chargingOrderListVO.getOrderSource().equals(2)) { |
| | | // chargingOrderListVO.setSharingAmount(chargingOrderListVO.getServiceCharge() != null ? |
| | | // chargingOrderListVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_HALF_UP) |
| | | // : new BigDecimal("0")); |
| | | // } else { |
| | | // chargingOrderListVO.setSharingAmount(new BigDecimal("0")); |
| | | // } |
| | | // } |
| | | |
| | | List<ChargingOrderListVO> list = new ArrayList<>(); |
| | | List<Map<String, Object>> maps = this.baseMapper.chargingList1(pageInfo, dto, startTime1, startTime2, endTime1, endTime2); |
| | |
| | | } |
| | | |
| | | |
| | | // 计算充电总度数 |
| | | BigDecimal electronic = new BigDecimal("0"); |
| | | // 支付金额 |
| | | BigDecimal paymentAmount = new BigDecimal("0"); |
| | | // 电费 |
| | | BigDecimal electrovalence = new BigDecimal("0"); |
| | | // 服务费 |
| | | BigDecimal serviceCharge = new BigDecimal("0"); |
| | | |
| | | // 尖峰平谷充电到账 |
| | | BigDecimal jianElectronic = new BigDecimal("0"); |
| | | BigDecimal fengElectronic = new BigDecimal("0"); |
| | |
| | | BigDecimal ping = new BigDecimal("0"); |
| | | BigDecimal gu = new BigDecimal("0"); |
| | | List<Map<String, Object>> list1 = this.baseMapper.chargingListSum(dto, startTime1, startTime2, endTime1, endTime2); |
| | | chargingOrderTimeVO.setOrderCount(list1.size()); |
| | | for (Map<String, Object> map : list1) { |
| | | if(null == map){ |
| | | continue; |
| | | } |
| | | electronic = electronic.add(new BigDecimal(null == map.get("electronic") ? "0" : map.get("electronic").toString())); |
| | | paymentAmount = paymentAmount.add(new BigDecimal(null == map.get("paymentAmount") ? "0" : map.get("paymentAmount").toString())); |
| | | electrovalence = electrovalence.add(new BigDecimal(null == map.get("electrovalence") ? "0" : map.get("electrovalence").toString())); |
| | | serviceCharge = serviceCharge.add(new BigDecimal(null == map.get("serviceCharge") ? "0" : map.get("serviceCharge").toString())); |
| | | jianElectronic = jianElectronic.add(new BigDecimal(null == map.get("jianElectronic") ? "0" : map.get("jianElectronic").toString())); |
| | | fengElectronic = fengElectronic.add(new BigDecimal(null == map.get("fengElectronic") ? "0" : map.get("fengElectronic").toString())); |
| | | pingElectronic = pingElectronic.add(new BigDecimal(null == map.get("pingElectronic") ? "0" : map.get("pingElectronic").toString())); |
| | |
| | | ping = ping.add(new BigDecimal(null == map.get("ping") ? "0" : map.get("ping").toString())); |
| | | gu = gu.add(new BigDecimal(null == map.get("gu") ? "0" : map.get("gu").toString())); |
| | | } |
| | | |
| | | Map<String, Object> map = this.baseMapper.chargingListSum1(dto, startTime1, startTime2, endTime1, endTime2); |
| | | System.err.println("充电时段统计-查询参数:" + JSON.toJSONString(dto)); |
| | | System.err.println("充电时段统计-汇总数据:" + JSON.toJSONString(map)); |
| | | //订单数量 |
| | | int orderCount = Integer.parseInt(map.get("orderCount").toString()); |
| | | // 计算充电总度数 |
| | | BigDecimal electronic = new BigDecimal(map.get("electronic").toString()); |
| | | // 支付金额 |
| | | BigDecimal paymentAmount = new BigDecimal(map.get("paymentAmount").toString()); |
| | | // 电费 |
| | | BigDecimal electrovalence = new BigDecimal(map.get("electrovalence").toString()); |
| | | // 服务费 |
| | | BigDecimal serviceCharge = new BigDecimal(map.get("serviceCharge").toString()); |
| | | chargingOrderTimeVO.setOrderCount(orderCount); |
| | | chargingOrderTimeVO.setChargingCapacity(electronic.setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | chargingOrderTimeVO.setPaymentAmount(paymentAmount.setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | chargingOrderTimeVO.setElectrovalence(electrovalence.setScale(2, BigDecimal.ROUND_HALF_EVEN)); |