无关风月
2024-10-21 82e5f5968a77bde806f45a0ae1fe16f40852d6d6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -309,18 +309,38 @@
    @ResponseBody
    @PostMapping(value = "/chargingOrderInfo")
    @ApiOperation(value = "充电桩订单列表查看详情", tags = {"管理后台-订单管理"})
    public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String orderId) {
    public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String strategyId) {
        TChargingOrder byId = chargingOrderService.getById(strategyId);
        ChargingOrderInfoVO chargingOrderInfoVO = new ChargingOrderInfoVO();
        chargingOrderInfoVO.setCdElectronic("");
        chargingOrderInfoVO.setCdVoltage("");
        chargingOrderInfoVO.setSurplus("");
        chargingOrderInfoVO.setTotalPower("");
        chargingOrderInfoVO.setLicensePlate("");
        chargingOrderInfoVO.setVehicleBrand("");
        chargingOrderInfoVO.setVehicleModel("");
        chargingOrderInfoVO.setVehicleUse("");
        List<TChargingOrderAccountingStrategy> tChargingOrderAccountingStrategies = new ArrayList<>();
        chargingOrderInfoVO.setList(tChargingOrderAccountingStrategies);
        chargingOrderInfoVO.setCdElectronic(byId.getCurrent()!=null?byId.getCurrent()+"":"");
        chargingOrderInfoVO.setCdVoltage(byId.getVoltage()!=null?byId.getVoltage()+"":"");
        chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity()+"":"");
        chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower()+"":"");
        if (byId.getAppUserCarId()!=null){
            List<TAppUserCar> data = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData();
            if (!data.isEmpty()){
                chargingOrderInfoVO.setLicensePlate(data.get(0).getLicensePlate());
                chargingOrderInfoVO.setVehicleBrand(data.get(0).getVehicleBrand());
                chargingOrderInfoVO.setVehicleModel(data.get(0).getVehicleModel());
                chargingOrderInfoVO.setVehicleUse(data.get(0).getVehicleUse());
            }
        }
        // 时段总服务费
        BigDecimal bigDecimal = new BigDecimal("0");
        List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list();
        for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) {
            bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
            tChargingOrderAccountingStrategy.setVipDiscount(
                    tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()
                            .subtract(tChargingOrderAccountingStrategy.getPeriodServicePrice())
            );
            tChargingOrderAccountingStrategy.setCouponDiscount(
                    tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice()
                            .subtract(tChargingOrderAccountingStrategy.getPeriodServicePrice())
            );
        }
        chargingOrderInfoVO.setList(list);
        return AjaxResult.success(chargingOrderInfoVO);
    }
@@ -685,7 +705,7 @@
//        dto.setUserIds(data);
//        dto.setPageCurr(1);
//        dto.setPageSize(99999);
//        TCharingOrderVO res = chargingOrderService.chargingOrder(dto);
//        Map<String,TChargingOrder> map = new HashMap<>();
//        //吧list放入map中
//        for (ChargingOrderVO record : res.getList().getRecords()) {
@@ -696,19 +716,21 @@
        List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
//        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
//        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
//            ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
//            BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto);
//            TChargingOrder tChargingOrder = map.get(uploadRealTimeMonitoringData.getCharging_pile_code());
//            if (tChargingOrder!=null) {
//                BeanUtils.copyProperties(tChargingOrder, dataDto);
//            }
//            dtos.add(dataDto);
//        }
        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
            ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
            BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto);
            ChargingOrderQuery dto = new ChargingOrderQuery();
            TCharingOrderVO vo = chargingOrderService.chargingOrder(dto);
            ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0);
            if (chargingOrderVO!=null) {
                BeanUtils.copyProperties(chargingOrderVO, dataDto);
            }
            dtos.add(dataDto);
        }
        return R.ok(data1);
        return R.ok(dtos);
    }
    
    
@@ -925,7 +947,39 @@
                startDate = startDate.plusDays(1);
            }
            tCharingUserMapVO.setMap(map);
            tCharingUserMapVO.setMap(dateRangeStatistics);
            List<Map<String,Object>> map1 =  chargingOrderService.usersByQuery(statisticsQueryDto);
            List<Map<String, Object>> dateRangeStatistics1 = new ArrayList<>();
            // 遍历日期范围
            while (!startDate.isAfter(endDate)) {
                String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                Map<String, Object> dailyStats = findMapWithDateValue(map1, formattedDate);
                if (dailyStats != null) {
                    dateRangeStatistics1.add(dailyStats);
                } else {
                    Map<String, Object> dateMap = new HashMap<>();
                    dateMap.put("time", formattedDate);
                    dateMap.put("counts", 0);
                    dateRangeStatistics1.add(dateMap);
                }
                // 移动到下一天
                startDate = startDate.plusDays(1);
            }
            tCharingUserMapVO.setMap1(dateRangeStatistics1);
        }
        //用户标签