longz
2026-08-04 14ac49d64602ddcf3b5057601e829f29f078b2f2
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java
@@ -34,20 +34,21 @@
    @Override
    public EmissionReductionVO emissionReduction(List<Integer> siteIds) {
        ScreenTopVO top = top(siteIds);
        //需调用接口 计算光伏减排
        EmissionReductionVO vo = new EmissionReductionVO();
        //获取总电量 计算累计充电二氧化碳减排量
        BigDecimal charge = top.getCarCharge();
        //获取总电量 计算累计充电二氧化碳减排量(与大屏累计充电量同口径: 已结束+已支付订单)
        BigDecimal charge = BigDecimal.ZERO;
        R<BigDecimal> r = chargingOrderClient.getLargeScreenTotalCapacity(siteIds);
        if (r.getCode() == 200 && r.getData() != null) {
            charge = r.getData();
        }
        BigDecimal multiplier = new BigDecimal("0.1564");
        //计算累计充电二氧化碳减排量
        if (charge.compareTo(BigDecimal.ZERO) != 0) {
            // 定义乘数和除数
            // 0.1404
            // 计算:charge × 0.1404 ÷ 1000
            // 计算:charge × 0.1564 ÷ 1000
            charge = charge
                    .multiply(multiplier)      // 乘以 0.1404
                    .divide(new BigDecimal("1000"), 2, RoundingMode.HALF_DOWN); // 除以 1000,保留6位小数,四舍五入
                    .multiply(multiplier)      // 乘以 0.1564
                    .divide(new BigDecimal("1000"), 2, RoundingMode.HALF_DOWN); // 除以 1000,保留2位小数,四舍五入
        }
        vo.setCharge(charge);
@@ -112,9 +113,9 @@
        BigDecimal carCharge = new BigDecimal("0.00");
        BigDecimal greenElectricity = new BigDecimal("0.00");
        if (siteIds != null && !siteIds.isEmpty()) {
            //获取充电量
            R<BigDecimal> r = chargingOrderClient.getSumDegreeBySiteIds(siteIds);
            if (r.getCode() == 200) {
            //获取充电量(与大屏累计充电量同口径: 已结束+已支付订单)
            R<BigDecimal> r = chargingOrderClient.getLargeScreenTotalCapacity(siteIds);
            if (r.getCode() == 200 && r.getData() != null) {
                charge = r.getData();
            }
            //汽车放电量