luodangjia
2024-11-01 d54f09c8ed456b431d386ec3752306f52eec607c
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1125,6 +1125,8 @@
        } else {
            siteIds.add(statisticsQueryDto.getSiteId());
        }
        List<Map<String,Object>> maps1 =  chargingOrderService.queryPower(siteIds);
@@ -1330,7 +1332,7 @@
        List<Map<String,Object>> badTop = orderEvaluateService.badTop(siteIds);
        //流量分析
        List<Map<String,Object>> sourceMap = chargingOrderService.countBySource(siteIds);
        List<Map<String,Object>> sourceMap = chargingOrderService.countBySource(siteIds,statisticsQueryDto);
        tCharingUserEvaluateVO.setGoodTop(goodTop);
        tCharingUserEvaluateVO.setBadTop(badTop);
        tCharingUserEvaluateVO.setFlow(sourceMap);
@@ -1355,8 +1357,48 @@
        }
        //直流可用率
        List<Map<String,Object>> equipmentMap1 = chargingOrderService.equipmentUserType1(siteIds,statisticsQueryDto);
        for (Map<String, Object> result : equipmentMap1) {
            Object percentObj = result.get("percent");
            if (percentObj instanceof String) {
                try {
                    BigDecimal percent = new BigDecimal((String) percentObj);
                    if (percent.compareTo(BigDecimal.ZERO) < 0) {
                        result.put("percent", percent.negate().toString());
                    }
                } catch (NumberFormatException e) {
                    // 处理转换异常
                    result.put("percent", BigDecimal.ZERO); // 或者其他默认值
                }
            } else if (percentObj instanceof BigDecimal) {
                BigDecimal percent = (BigDecimal) percentObj;
                if (percent.compareTo(BigDecimal.ZERO) < 0) {
                    result.put("percent", percent.negate().toString());
                }
            }
        }
        //交流可用率
        List<Map<String,Object>> equipmentMap2= chargingOrderService.equipmentUserType2(siteIds,statisticsQueryDto);
        for (Map<String, Object> result : equipmentMap2) {
            Object percentObj = result.get("percent");
            if (percentObj instanceof String) {
                try {
                    BigDecimal percent = new BigDecimal((String) percentObj);
                    if (percent.compareTo(BigDecimal.ZERO) < 0) {
                        result.put("percent", percent.negate().toString());
                    }
                } catch (NumberFormatException e) {
                    // 处理转换异常
                    result.put("percent", BigDecimal.ZERO); // 或者其他默认值
                }
            } else if (percentObj instanceof BigDecimal) {
                BigDecimal percent = (BigDecimal) percentObj;
                if (percent.compareTo(BigDecimal.ZERO) < 0) {
                    result.put("percent", percent.negate().toString());
                }
            }
        }
        //取出直流可用率和交流可用率的percent的平均值保留两位小数
@@ -1457,7 +1499,7 @@
        List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list();
        List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(TChargingOrder::getStatus,5).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list();
        //当日的订单总数
        int size = list.size();
        //计算list中paymentAmount的总和