无关风月
2025-01-17 b2738da3832b84beb0bc657b4a6bcf0c7ca152b0
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1259,7 +1259,17 @@
       BigDecimal commissionMoney = new BigDecimal("0");
       BigDecimal refundMoney = new BigDecimal("0");
       BigDecimal paymentMoney = new BigDecimal("0");
      List<String> collect2 = list.stream().map(TChargingOrder::getCode).collect(Collectors.toList());
      StringBuilder stringBuilder2 = new StringBuilder();
      List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData2 = new ArrayList<>();
      for (String s : collect2) {
         stringBuilder2.append(s).append(",");
      }
      if (stringBuilder2.length()>0){
         StringBuilder ids = stringBuilder2.deleteCharAt(stringBuilder2.length() - 1);
         uploadRealTimeMonitoringData2 = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(ids.toString()).getData();
      }
      for (ChargingOrderVO chargingOrderVO : list) {
         if (roleType == 2){
            for (Integer siteId : siteIds) {
@@ -1286,7 +1296,8 @@
         // 充电订单 明细记录
         List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
               .eq("charging_order_id", chargingOrderVO.getId()));
         UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
         UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringData2.stream().filter(e -> e.getTransaction_serial_number().equals(chargingOrderVO.getCode()))
               .findFirst().orElse(null);
         if (data5!=null && data5.getCumulative_charging_time()!=null){
            long l = data5.getCumulative_charging_time() * 60L;
            chargingOrderVO.setChargingSecond(l);
@@ -1310,16 +1321,26 @@
         }
      }
      List<String> collect = list1.stream().map(TChargingOrder::getCode).collect(Collectors.toList());
      StringBuilder stringBuilder = new StringBuilder();
      List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = new ArrayList<>();
      for (String s : collect) {
         stringBuilder.append(s).append(",");
      }
      if (stringBuilder.length()>0){
         StringBuilder ids = stringBuilder.deleteCharAt(stringBuilder.length() - 1);
         uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(ids.toString()).getData();
      }
      for (ChargingOrderVO chargingOrderVO : list1) {
         paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0"));
         commissionMoney = commissionMoney.add(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
         if (chargingOrderVO.getChargingCapacity()!=null){
            total = total.add(chargingOrderVO.getElectricity()!=null?chargingOrderVO.getElectricity():new BigDecimal("0"));
         }
         // 充电订单 明细记录
         List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
               .eq("charging_order_id", chargingOrderVO.getId()));
         UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderVO.getCode()).getData();
         UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringData.stream().filter(e -> e.getTransaction_serial_number().equals(chargingOrderVO.getCode()))
               .findFirst().orElse(null);
         if (data5!=null && data5.getCumulative_charging_time()!=null){
            long l = data5.getCumulative_charging_time() * 60L;
            chargingOrderVO.setChargingSecond(l);
@@ -1499,6 +1520,9 @@
      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<Integer> siteIdsList = list.stream().map(ChargingOrderListVO::getSiteId).collect(Collectors.toList());
      if (siteIdsList.isEmpty())siteIdsList.add(-1);
      List<Site> sites = siteClient.getSiteByIds(siteIdsList).getData();
      for (ChargingOrderListVO chargingOrderListVO : list) {
         if (roleType==2){
@@ -1515,9 +1539,9 @@
         chargingOrderListVO.setUid(chargingOrderListVO.getId()+"");
         List<Integer> integers = new ArrayList<>();
         integers.add(chargingOrderListVO.getSiteId());
         List<Site> data = siteClient.getSiteByIds(integers).getData();
         if (!data.isEmpty()) {
            chargingOrderListVO.setSiteName(data.get(0).getName());
         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 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
@@ -1568,7 +1592,6 @@
                  }
               }
               chargingOrderListVO.setPhone(data3.getPhone());
            }
         }
         List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery()
@@ -1642,14 +1665,17 @@
      BigDecimal feng = new BigDecimal("0");
      BigDecimal ping = new BigDecimal("0");
      BigDecimal gu = new BigDecimal("0");
      List<Long> collect = list1.stream().map(ChargingOrderListVO::getId).collect(Collectors.toList());
      List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = chargingOrderAccountingStrategyService.lambdaQuery()
            .in(TChargingOrderAccountingStrategy::getChargingOrderId,collect).list();
      for (ChargingOrderListVO chargingOrderListVO : list1) {
         if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getElectricity());
         if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount());
         if (chargingOrderListVO.getElectrovalence()!=null)electrovalence = electrovalence.add(chargingOrderListVO.getElectrovalence());
         if (chargingOrderListVO.getServiceCharge()!=null)serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge());
         List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery()
               .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId()).list();
         List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
               .collect(Collectors.toList());
         for (TChargingOrderAccountingStrategy temp : list2) {
            switch (temp.getType()){
               case 1:
@@ -3126,7 +3152,7 @@
            .eq("recharge_payment_status",2);
      switch (dto.getType()){
         case 1:
            eq.between("start_time", localDateTime, localDateTime1);
            eq.between("pay_time", localDateTime, localDateTime1);
            break;
         case 2:
            eq.between("end_time", localDateTime, localDateTime1);