浏览代码

指标计算优化

wangchangsheng 2 年之前
父节点
当前提交
d766131a64

+ 2 - 3
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/IProBasicCompanyService.java

@@ -3,9 +3,6 @@ package com.gyee.runeconomy.service.auto;
 import com.gyee.runeconomy.model.auto.ProBasicCompany;
 import com.gyee.runeconomy.model.auto.ProBasicCompany;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
-import java.math.BigDecimal;
-import java.util.List;
-
 /**
 /**
  * <p>
  * <p>
  * 省公司表 服务类
  * 省公司表 服务类
@@ -18,4 +15,6 @@ public interface IProBasicCompanyService extends IService<ProBasicCompany> {
 
 
     Double getProBasicCompanyCapacity(String regionId, String  companyId);
     Double getProBasicCompanyCapacity(String regionId, String  companyId);
 
 
+    Integer getProBasicCompanyQuantity(String regionId, String  companyId);
+
 }
 }

+ 22 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProBasicCompanyServiceImpl.java

@@ -47,4 +47,26 @@ public class ProBasicCompanyServiceImpl extends ServiceImpl<ProBasicCompanyMappe
 
 
         return sumall;
         return sumall;
     }
     }
+
+    @Override
+    public Integer getProBasicCompanyQuantity(String regionId, String companyId) {
+        QueryWrapper<ProBasicCompany> qw = new QueryWrapper<>();
+
+        //判断后缀是区域还是公司
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_ZGS")) {
+            qw.lambda().eq(ProBasicCompany::getId, companyId);
+        }
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_RGN")) {
+            qw.lambda().eq(ProBasicCompany::getRegionId, companyId);
+        }
+
+
+        Integer quantity = new Integer(0);
+        List<ProBasicCompany>  list = getBaseMapper().selectList(qw);
+        for (ProBasicCompany i : list){
+            quantity = quantity + i.getJrquantityJz()+i.getJrquantityZc()+i.getJrwindQuantityHs()+i.getJrwindQuantityLd();
+        }
+
+        return quantity;
+    }
 }
 }

+ 49 - 32
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -85,6 +85,8 @@ public class EconomyPointHomePageService {
 
 
     private BigDecimal capacity = null;
     private BigDecimal capacity = null;
 
 
+    private Integer quantity = null;
+
     private Map<String, BigDecimal> wsdlfx = null;//五损电量分析
     private Map<String, BigDecimal> wsdlfx = null;//五损电量分析
 
 
     private List<Map<String, Object>> zhcydl = null;//综合场用电率
     private List<Map<String, Object>> zhcydl = null;//综合场用电率
@@ -135,6 +137,9 @@ public class EconomyPointHomePageService {
 
 
         /** 装机容量 */
         /** 装机容量 */
         capacity = new BigDecimal(proBasicCompanyService.getProBasicCompanyCapacity("", foreignKeyId));
         capacity = new BigDecimal(proBasicCompanyService.getProBasicCompanyCapacity("", foreignKeyId));
+
+        /**装机数量*/
+        quantity = proBasicCompanyService.getProBasicCompanyQuantity("", foreignKeyId);
         //综合场用电量
         //综合场用电量
         zhcydllist = proEconPowerstationInfoDay5Service.getEconZhcydldb(foreignKeyId, staType, dateType, date);
         zhcydllist = proEconPowerstationInfoDay5Service.getEconZhcydldb(foreignKeyId, staType, dateType, date);
 
 
@@ -838,10 +843,6 @@ public class EconomyPointHomePageService {
      */
      */
     private void currOtherInfo() {
     private void currOtherInfo() {
 
 
-        ProEconPowerstationInfoDay1 currFiveInfo = wsmap.get("currFiveInfo");
-        ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
-        ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
-
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
         ProEconPowerstationInfoDay5 withDlInfo = dlmap.get("withDlInfo");
         ProEconPowerstationInfoDay5 withDlInfo = dlmap.get("withDlInfo");
@@ -854,19 +855,19 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
 
-        if (null != currFiveInfo && null != currDlInfo) {
+        if ( null != currDlInfo) {
 
 
-            BigDecimal currZhcydl = compare0(currFiveInfo.getRfdl()) ? compare100(currDlInfo.getRzhcydldb().divide(currFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0);
+            BigDecimal currZhcydl = compare0(currDlInfo.getRfdldb()) ? compare100(currDlInfo.getRzhcydldb().divide(currDlInfo.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0);
             dto.setCurrZhcydl(currZhcydl);
             dto.setCurrZhcydl(currZhcydl);
 
 
-            if (null != ringFiveInfo && null != ringDlInfo && compare0(ringFiveInfo.getRfdl())) {
-                BigDecimal ringZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if (null != ringDlInfo && compare0(currDlInfo.getRfdldb())) {
+                BigDecimal ringZhcydl = ringDlInfo.getRzhcydldb().divide(ringDlInfo.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingZhcydzzl(ringZhcydzzl);
                 dto.setRingZhcydzzl(ringZhcydzzl);
             }
             }
 
 
-            if (null != withFiveInfo && null != withDlInfo && compare0(ringFiveInfo.getRfdl())) {
-                BigDecimal withZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if ( null != withDlInfo && compare0(currDlInfo.getRfdldb())) {
+                BigDecimal withZhcydl = withDlInfo.getRzhcydldb().divide(withDlInfo.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithZhcydzzl(withZhcydzzl);
                 dto.setWithZhcydzzl(withZhcydzzl);
             }
             }
@@ -893,6 +894,7 @@ public class EconomyPointHomePageService {
 
 
             double currhours = DateUtils.hoursDiff1(new Date(), DateUtils.getStartOfDay(new Date()));
             double currhours = DateUtils.hoursDiff1(new Date(), DateUtils.getStartOfDay(new Date()));
             BigDecimal currhours2 = new BigDecimal(0.00).valueOf(currhours);
             BigDecimal currhours2 = new BigDecimal(0.00).valueOf(currhours);
+            currhours2 = compare0(currhours2) ? currhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
             currhours2 = compare0(currhours2) ? currhours2 : new BigDecimal(1);
             currhours2 = compare0(currhours2) ? currhours2 : new BigDecimal(1);
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getRhjgzxsmx().add(currTimeInfo.getRhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getRhjgzxsmx().add(currTimeInfo.getRhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrSbklyl(currSbklyl);
             dto.setCurrSbklyl(currSbklyl);
@@ -900,6 +902,7 @@ public class EconomyPointHomePageService {
 
 
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 BigDecimal ringhours2 = new BigDecimal(0.00).valueOf((int) ringhours);
                 BigDecimal ringhours2 = new BigDecimal(0.00).valueOf((int) ringhours);
+                ringhours2 = compare0(ringhours2) ? ringhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getRhjgzxsmx().add(ringTimeInfo.getRhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getRhjgzxsmx().add(ringTimeInfo.getRhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingSbklyzzl(ringSbklyzzl);
                 dto.setRingSbklyzzl(ringSbklyzzl);
@@ -908,6 +911,7 @@ public class EconomyPointHomePageService {
 
 
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 BigDecimal withhours2 = new BigDecimal(0.00).valueOf((int) withhours);
                 BigDecimal withhours2 = new BigDecimal(0.00).valueOf((int) withhours);
+                withhours2 = compare0(withhours2) ? withhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getRhjgzxsmx().add(withTimeInfo.getRhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getRhjgzxsmx().add(withTimeInfo.getRhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithSbklyzzl(withSbklyzzl);
                 dto.setWithSbklyzzl(withSbklyzzl);
@@ -920,10 +924,6 @@ public class EconomyPointHomePageService {
 
 
     private void monthOtherInfo() {
     private void monthOtherInfo() {
 
 
-        ProEconPowerstationInfoDay1 currFiveInfo = wsmap.get("currFiveInfo");
-        ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
-        ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
-
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
         ProEconPowerstationInfoDay5 withDlInfo = dlmap.get("withDlInfo");
         ProEconPowerstationInfoDay5 withDlInfo = dlmap.get("withDlInfo");
@@ -936,35 +936,54 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
 
-        if (null != currFiveInfo && null != currDlInfo) {
+        if (null != currDlInfo) {
 
 
-            BigDecimal currZhcydl = currDlInfo.getYzhcydldb().divide(currFiveInfo.getYfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            BigDecimal currZhcydl = currDlInfo.getYzhcydldb().divide(currDlInfo.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrZhcydl(currZhcydl);
             dto.setCurrZhcydl(currZhcydl);
 
 
-            if (null != ringFiveInfo && null != ringDlInfo) {
-                BigDecimal ringZhcydl = ringDlInfo.getYzhcydldb().divide(ringFiveInfo.getYfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if (null != ringDlInfo) {
+                BigDecimal ringZhcydl = ringDlInfo.getYzhcydldb().divide(ringDlInfo.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingZhcydzzl(ringZhcydzzl);
                 dto.setRingZhcydzzl(ringZhcydzzl);
             }
             }
 
 
-            if (null != withFiveInfo && null != withDlInfo) {
-                BigDecimal withZhcydl = ringDlInfo.getYzhcydldb().divide(ringFiveInfo.getYfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if (null != withDlInfo) {
+                BigDecimal withZhcydl = withDlInfo.getYzhcydldb().divide(withDlInfo.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithZhcydzzl(withZhcydzzl);
                 dto.setWithZhcydzzl(withZhcydzzl);
             }
             }
 
 
         }
         }
 
 
+
+        if (null != currGlInfo && compare0(capacity)) {
+            BigDecimal currGlqxfhl = currGlInfo.getYpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            dto.setCurrGlqxfhl(currGlqxfhl);
+            if (null != ringGlInfo) {
+                BigDecimal ringGlqxfhl = ringGlInfo.getYpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                BigDecimal ringGlqxfhzzl = (currGlqxfhl.subtract(ringGlqxfhl)).divide(ringGlqxfhl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                dto.setRingGlqxfhzzl(ringGlqxfhzzl);
+            }
+            if (null != withGlInfo) {
+                BigDecimal withGlqxfhl = withGlInfo.getYpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                BigDecimal withGlqxfhzzl = (currGlqxfhl.subtract(withGlqxfhl)).divide(withGlqxfhl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                dto.setWithGlqxfhzzl(withGlqxfhzzl);
+            }
+        }
+
+
         if (null != currTimeInfo) {
         if (null != currTimeInfo) {
 
 
             int currhours = DateUtils.hoursDiff(new Date(), DateUtils.getStartOfDay(new Date()));
             int currhours = DateUtils.hoursDiff(new Date(), DateUtils.getStartOfDay(new Date()));
             BigDecimal currhours2 = new BigDecimal(0.00).valueOf((int) currhours);
             BigDecimal currhours2 = new BigDecimal(0.00).valueOf((int) currhours);
+            currhours2 = compare0(currhours2) ? currhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getYhjgzxsmx().add(currTimeInfo.getYhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getYhjgzxsmx().add(currTimeInfo.getYhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrSbklyl(currSbklyl);
             dto.setCurrSbklyl(currSbklyl);
             if (null != ringTimeInfo) {
             if (null != ringTimeInfo) {
 
 
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 BigDecimal ringhours2 = new BigDecimal(0.00).valueOf((int) ringhours);
                 BigDecimal ringhours2 = new BigDecimal(0.00).valueOf((int) ringhours);
+                ringhours2 = compare0(ringhours2) ? ringhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getYhjgzxsmx().add(ringTimeInfo.getYhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getYhjgzxsmx().add(ringTimeInfo.getYhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingSbklyzzl(ringSbklyzzl);
                 dto.setRingSbklyzzl(ringSbklyzzl);
@@ -973,6 +992,7 @@ public class EconomyPointHomePageService {
 
 
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 BigDecimal withhours2 = new BigDecimal(0.00).valueOf((int) withhours);
                 BigDecimal withhours2 = new BigDecimal(0.00).valueOf((int) withhours);
+                withhours2 = compare0(withhours2) ? withhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getYhjgzxsmx().add(withTimeInfo.getYhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getYhjgzxsmx().add(withTimeInfo.getYhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithSbklyzzl(withSbklyzzl);
                 dto.setWithSbklyzzl(withSbklyzzl);
@@ -984,9 +1004,6 @@ public class EconomyPointHomePageService {
 
 
     private void yearOtherInfo() {
     private void yearOtherInfo() {
 
 
-        ProEconPowerstationInfoDay1 currFiveInfo = wsmap.get("currFiveInfo");
-        ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
-        ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
 
 
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 currDlInfo = dlmap.get("currDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
         ProEconPowerstationInfoDay5 ringDlInfo = dlmap.get("ringDlInfo");
@@ -1000,19 +1017,19 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
 
-        if (null != currFiveInfo && null != currDlInfo) {
+        if ( null != currDlInfo) {
 
 
-            BigDecimal currZhcydl = compare0(currFiveInfo.getNfdl()) ? currDlInfo.getNzhcydldb().divide(currFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0);
+            BigDecimal currZhcydl = compare0(currDlInfo.getNfdldb()) ? currDlInfo.getNzhcydldb().divide(currDlInfo.getNfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0);
             dto.setCurrZhcydl(currZhcydl);
             dto.setCurrZhcydl(currZhcydl);
 
 
-            if (null != ringFiveInfo && null != ringDlInfo && compare0(ringFiveInfo.getNfdl())) {
-                BigDecimal ringZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if ( null != ringDlInfo && compare0(currDlInfo.getNfdldb())) {
+                BigDecimal ringZhcydl = ringDlInfo.getNzhcydldb().divide(ringDlInfo.getNfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingZhcydzzl(ringZhcydzzl);
                 dto.setRingZhcydzzl(ringZhcydzzl);
             }
             }
 
 
-            if (null != withFiveInfo && null != withDlInfo && compare0(ringFiveInfo.getNfdl())) {
-                BigDecimal withZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            if ( null != withDlInfo && compare0(currDlInfo.getNfdldb())) {
+                BigDecimal withZhcydl = withDlInfo.getNzhcydldb().divide(withDlInfo.getNfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithZhcydzzl(withZhcydzzl);
                 dto.setWithZhcydzzl(withZhcydzzl);
             }
             }
@@ -1038,14 +1055,14 @@ public class EconomyPointHomePageService {
 
 
             int currhours = DateUtils.hoursDiff(new Date(), DateUtils.getStartOfDay(new Date()));
             int currhours = DateUtils.hoursDiff(new Date(), DateUtils.getStartOfDay(new Date()));
             BigDecimal currhours2 = new BigDecimal(0).valueOf((int) currhours);
             BigDecimal currhours2 = new BigDecimal(0).valueOf((int) currhours);
-            currhours2 = compare0(currhours2) ? currhours2 : new BigDecimal(1);
+            currhours2 = compare0(currhours2) ? currhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getNhjgzxsmx().add(currTimeInfo.getNhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             BigDecimal currSbklyl = currhours2.subtract((currTimeInfo.getNhjgzxsmx().add(currTimeInfo.getNhjjxtjxs()))).divide(currhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrSbklyl(currSbklyl);
             dto.setCurrSbklyl(currSbklyl);
             if (null != ringTimeInfo) {
             if (null != ringTimeInfo) {
 
 
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 int ringhours = DateUtils.hoursDiff(new Date(), DateUtils.getMonthFirstZero());
                 BigDecimal ringhours2 = new BigDecimal(0).valueOf((int) ringhours);
                 BigDecimal ringhours2 = new BigDecimal(0).valueOf((int) ringhours);
-                ringhours2 = compare0(ringhours2) ? ringhours2 : new BigDecimal(1);
+                ringhours2 = compare0(ringhours2) ? ringhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getNhjgzxsmx().add(ringTimeInfo.getNhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyl = ringhours2.subtract((ringTimeInfo.getNhjgzxsmx().add(ringTimeInfo.getNhjjxtjxs()))).divide(ringhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setRingSbklyzzl(ringSbklyzzl);
                 dto.setRingSbklyzzl(ringSbklyzzl);
@@ -1054,7 +1071,7 @@ public class EconomyPointHomePageService {
 
 
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 int withhours = DateUtils.hoursDiff(new Date(), DateUtils.getYearFirstZero());
                 BigDecimal withhours2 = new BigDecimal(0).valueOf((int) withhours);
                 BigDecimal withhours2 = new BigDecimal(0).valueOf((int) withhours);
-                withhours2 = compare0(withhours2) ? withhours2 : new BigDecimal(1);
+                withhours2 = compare0(withhours2) ? withhours2.multiply(new BigDecimal(quantity)) : new BigDecimal(1*quantity);
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getNhjgzxsmx().add(withTimeInfo.getNhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyl = withhours2.subtract((withTimeInfo.getNhjgzxsmx().add(withTimeInfo.getNhjjxtjxs()))).divide(withhours2, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 dto.setWithSbklyzzl(withSbklyzzl);
                 dto.setWithSbklyzzl(withSbklyzzl);