wangchangsheng vor 2 Jahren
Ursprung
Commit
c9fd4a8b11

+ 3 - 2
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/bmk/BenchmarkingController.java

@@ -39,9 +39,10 @@ public class BenchmarkingController {
     }
     }
     @GetMapping(value = "/wpByCplist")
     @GetMapping(value = "/wpByCplist")
     @ApiOperation(value = "场站列表", notes = "场站列表")
     @ApiOperation(value = "场站列表", notes = "场站列表")
-    public R wpByCplist(@RequestParam(value = "companyids", required = true) String companyids)  {
+    public R wpByCplist(@RequestParam(value = "companyids", required = true) String companyids,
+                        @RequestParam(value = "type", required = false) String type) {
 
 
-        List<ProBasicPowerstation> resultList = benchmarkingService.wpByCplist(companyids);
+        List<ProBasicPowerstation> resultList = benchmarkingService.wpByCplist(companyids,type);
         if (StringUtils.isNotNull(resultList)) {
         if (StringUtils.isNotNull(resultList)) {
             return R.data(ResultMsg.ok(resultList));
             return R.data(ResultMsg.ok(resultList));
         } else {
         } else {

+ 6 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/model/auto/ProEconPointCode.java

@@ -49,4 +49,10 @@ public class ProEconPointCode extends Model {
     private String pointType;
     private String pointType;
 
 
 
 
+    /**
+     * 测点类型
+     */
+    private double ratio;
+
+
 }
 }

+ 1 - 1
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPointCodeServiceImpl.java

@@ -83,7 +83,7 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
             if (null != oripoint && oripoint.size()>0){
             if (null != oripoint && oripoint.size()>0){
                 try {
                 try {
                     PointData p = edosUtil.getRealData(oripoint.get(0));
                     PointData p = edosUtil.getRealData(oripoint.get(0));
-                    dto.setValue(p.getPointValueInDouble());
+                    dto.setValue(p.getPointValueInDouble()*pointCode1.getRatio());
                 } catch (Exception e) {
                 } catch (Exception e) {
 
 
                 }
                 }

+ 12 - 4
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/bmk/BenchmarkingService.java

@@ -47,12 +47,20 @@ public class BenchmarkingService {
         result.add(company);
         result.add(company);
         return result;
         return result;
     }
     }
-    public List<ProBasicPowerstation> wpByCplist(String companyids) {
+    public List<ProBasicPowerstation> wpByCplist(String companyids,String  type) {
+
+
+        List<ProBasicPowerstation> list = CacheContext.wpls;
+
+        if (StringUtils.isNotEmpty(type) && !type.equals("0")){
+            String finalType  =  type.equals("-1") ? "_FDC" : "_GDC";
+            list = list.stream().filter(wp-> wp.getId().indexOf(finalType) >= 0).collect(Collectors.toList());
+        }
+
         if (!companyids.endsWith("RGN")){
         if (!companyids.endsWith("RGN")){
-            return CacheContext.wpls.stream().filter(wp->companyids.contains(wp.getCompanyId())).collect(Collectors.toList());
-        }else {
-            return CacheContext.wpls;
+            list = list.stream().filter(wp->companyids.contains(wp.getCompanyId())).collect(Collectors.toList());
         }
         }
+        return list;
 
 
     }
     }
 
 

+ 64 - 60
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -227,7 +227,7 @@ public class EconomyPointHomePageService {
         if(null != fdinfo){
         if(null != fdinfo){
             fdinfomap.put("fdl",fdinfo.getYfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("fdl",fdinfo.getYfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("qfdl",fdinfo.getYqfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("qfdl",fdinfo.getYqfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
-            fdinfomap.put("fnlyl", compare100(fdinfo.getYfdl().divide(fdinfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+            fdinfomap.put("fnlyl", compare0(fdinfo.getYllfdl())?compare100(fdinfo.getYfdl().divide(fdinfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
 
 
 
 
         }
         }
@@ -237,7 +237,7 @@ public class EconomyPointHomePageService {
         if(null != fdinfo){
         if(null != fdinfo){
             fdinfomap.put("fdl",fdinfo.getNfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("fdl",fdinfo.getNfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("qfdl",fdinfo.getNqfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
             fdinfomap.put("qfdl",fdinfo.getNqfdl().divide(new BigDecimal(10000), 6, BigDecimal.ROUND_HALF_UP));
-            fdinfomap.put("fnlyl", compare100(fdinfo.getNfdl().divide(fdinfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+            fdinfomap.put("fnlyl", compare0(fdinfo.getNllfdl())?compare100(fdinfo.getNfdl().divide(fdinfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
 
 
         }
         }
     }
     }
@@ -339,7 +339,7 @@ public class EconomyPointHomePageService {
             Map<String,Object> m = new HashMap<>();
             Map<String,Object> m = new HashMap<>();
             if(compare0(i.getRfdldb())){
             if(compare0(i.getRfdldb())){
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
-                m.put("value", compare100(i.getRzhcydldb().divide(i.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                m.put("value", compare0(i.getRfdldb())?compare100(i.getRzhcydldb().divide(i.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
             }else {
             }else {
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("value",0);
                 m.put("value",0);
@@ -353,7 +353,7 @@ public class EconomyPointHomePageService {
             Map<String,Object> m = new HashMap<>();
             Map<String,Object> m = new HashMap<>();
             if(compare0(i.getYfdldb())){
             if(compare0(i.getYfdldb())){
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
-                m.put("value", compare100(i.getYzhcydldb().divide(i.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                m.put("value", compare0(i.getYfdldb())?compare100(i.getYzhcydldb().divide(i.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
             }else {
             }else {
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("value",0);
                 m.put("value",0);
@@ -367,7 +367,7 @@ public class EconomyPointHomePageService {
             Map<String,Object> m = new HashMap<>();
             Map<String,Object> m = new HashMap<>();
             if(compare0(i.getNfdldb())){
             if(compare0(i.getNfdldb())){
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
-                m.put("value", compare100(i.getNzhcydldb().divide(i.getNfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                m.put("value", compare0(i.getNfdldb())?compare100(i.getNzhcydldb().divide(i.getNfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
             }else {
             }else {
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("key",DateUtils.toDate1(i.getRecordDate()));
                 m.put("value",0);
                 m.put("value",0);
@@ -382,50 +382,50 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
 
 
         //发电量
         //发电量
-        wsdlfx.put("fdl", compare100(fiveInfo.getRfdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("fdl",  compare0(fiveInfo.getRllfdl())?compare100(fiveInfo.getRfdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //受累
         //受累
-        wsdlfx.put("sldl", compare100((fiveInfo.getRcwsldwssdl().add(fiveInfo.getRcwsltqssdl())).divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("sldl", compare0(fiveInfo.getRllfdl())?compare100((fiveInfo.getRcwsldwssdl().add(fiveInfo.getRcwsltqssdl())).divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //检修
         //检修
-        wsdlfx.put("jxdl", compare100(fiveInfo.getRjxssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("jxdl", compare0(fiveInfo.getRllfdl())?compare100(fiveInfo.getRjxssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //限电
         //限电
-        wsdlfx.put("xddl", compare100((fiveInfo.getRxdtjssdl().add(fiveInfo.getRxdjclssdl())).divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xddl", compare0(fiveInfo.getRllfdl())?compare100((fiveInfo.getRxdtjssdl().add(fiveInfo.getRxdjclssdl())).divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //故障
         //故障
-        wsdlfx.put("gzdl", compare100(fiveInfo.getRgzssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("gzdl", compare0(fiveInfo.getRllfdl())?compare100(fiveInfo.getRgzssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //性能
         //性能
-        wsdlfx.put("xndl", compare100(fiveInfo.getRxnssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xndl", compare0(fiveInfo.getRllfdl())?compare100(fiveInfo.getRxnssdl().divide(fiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
 
 
     }
     }
     private void monthFiveDlFx() {
     private void monthFiveDlFx() {
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
         //发电量
         //发电量
-        wsdlfx.put("fdl", compare100(fiveInfo.getYfdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("fdl",  compare0(fiveInfo.getYllfdl())? compare100(fiveInfo.getYfdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //受累
         //受累
-        wsdlfx.put("sldl", compare100((fiveInfo.getYcwsldwssdl().add(fiveInfo.getYcwsltqssdl())).divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("sldl", compare0(fiveInfo.getYllfdl())? compare100((fiveInfo.getYcwsldwssdl().add(fiveInfo.getYcwsltqssdl())).divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //检修
         //检修
-        wsdlfx.put("jxdl", compare100(fiveInfo.getYjxssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("jxdl", compare0(fiveInfo.getYllfdl())? compare100(fiveInfo.getYjxssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //限电
         //限电
-        wsdlfx.put("xddl", compare100((fiveInfo.getYxdtjssdl().add(fiveInfo.getYxdjclssdl())).divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xddl", compare0(fiveInfo.getYllfdl())? compare100((fiveInfo.getYxdtjssdl().add(fiveInfo.getYxdjclssdl())).divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //故障
         //故障
-        wsdlfx.put("gzdl", compare100(fiveInfo.getYgzssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("gzdl", compare0(fiveInfo.getYllfdl())? compare100(fiveInfo.getYgzssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //性能
         //性能
-        wsdlfx.put("xndl", compare100(fiveInfo.getYxnssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xndl", compare0(fiveInfo.getYllfdl())? compare100(fiveInfo.getYxnssdl().divide(fiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
 
 
     }
     }
 
 
     private void yearFiveDlFx() {
     private void yearFiveDlFx() {
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
         ProEconPowerstationInfoDay1 fiveInfo = wsmap.get("currFiveInfo");
         //发电量
         //发电量
-        wsdlfx.put("fdl", compare100(fiveInfo.getNfdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("fdl", compare0(fiveInfo.getNllfdl()) ? compare100(fiveInfo.getNfdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //受累
         //受累
-        wsdlfx.put("sldl", compare100((fiveInfo.getNcwsldwssdl().add(fiveInfo.getNcwsltqssdl())).divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("sldl", compare0(fiveInfo.getNllfdl()) ? compare100((fiveInfo.getNcwsldwssdl().add(fiveInfo.getNcwsltqssdl())).divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //检修
         //检修
-        wsdlfx.put("jxdl", compare100(fiveInfo.getNjxssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("jxdl", compare0(fiveInfo.getNllfdl()) ? compare100(fiveInfo.getNjxssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //限电
         //限电
-        wsdlfx.put("xddl", compare100((fiveInfo.getNxdtjssdl().add(fiveInfo.getNxdjclssdl())).divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xddl", compare0(fiveInfo.getNllfdl()) ? compare100((fiveInfo.getNxdtjssdl().add(fiveInfo.getNxdjclssdl())).divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //故障
         //故障
-        wsdlfx.put("gzdl", compare100(fiveInfo.getNgzssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("gzdl", compare0(fiveInfo.getNllfdl()) ? compare100(fiveInfo.getNgzssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))): new BigDecimal(0));
         //性能
         //性能
-        wsdlfx.put("xndl", compare100(fiveInfo.getNxnssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+        wsdlfx.put("xndl", compare0(fiveInfo.getNllfdl()) ? compare100(fiveInfo.getNxnssdl().divide(fiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
     }
     }
 
 
 
 
@@ -439,7 +439,7 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
 
 
-        if (null != currFiveInfo) {
+        if (null != currFiveInfo && compare0(currFiveInfo.getRllfdl())) {
             BigDecimal currgzsll = compare100(currFiveInfo.getRgzssdl().divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currgzsll = compare100(currFiveInfo.getRgzssdl().divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getRjxssdl().divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getRjxssdl().divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getRxdtjssdl().add(currFiveInfo.getRxdjclssdl())).divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getRxdtjssdl().add(currFiveInfo.getRxdjclssdl())).divide(currFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
@@ -503,7 +503,7 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
 
 
-        if (null != currFiveInfo) {
+        if (null != currFiveInfo && compare0(currFiveInfo.getYllfdl())) {
             BigDecimal currgzsll = compare100(currFiveInfo.getYgzssdl().divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currgzsll = compare100(currFiveInfo.getYgzssdl().divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getYjxssdl().divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getYjxssdl().divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getYxdtjssdl().add(currFiveInfo.getYxdjclssdl())).divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getYxdtjssdl().add(currFiveInfo.getYxdjclssdl())).divide(currFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
@@ -568,7 +568,7 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 ringFiveInfo = wsmap.get("ringFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
         ProEconPowerstationInfoDay1 withFiveInfo = wsmap.get("withFiveInfo");
 
 
-        if (null != currFiveInfo) {
+        if (null != currFiveInfo && compare0(currFiveInfo.getNllfdl())) {
             BigDecimal currgzsll = compare100(currFiveInfo.getNgzssdl().divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currgzsll = compare100(currFiveInfo.getNgzssdl().divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getNjxssdl().divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currjxsll = compare100(currFiveInfo.getNjxssdl().divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getNxdtjssdl().add(currFiveInfo.getNxdjclssdl())).divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
             BigDecimal currxdsll = compare100((currFiveInfo.getNxdtjssdl().add(currFiveInfo.getNxdjclssdl())).divide(currFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
@@ -645,17 +645,17 @@ public class EconomyPointHomePageService {
 
 
             if (null != ringThreeInfo) {
             if (null != ringThreeInfo) {
 
 
-                dto.setRingFwjszzl(compare100((currThreeInfo.getRfwjsl().subtract(ringThreeInfo.getRfwjsl())).divide(ringThreeInfo.getRfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setRingZtzhzzl(compare100((currThreeInfo.getRztzhjsl().subtract(ringThreeInfo.getRztzhjsl())).divide(ringThreeInfo.getRztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setRingXqjszzl(compare100((currThreeInfo.getRgzxqjsl().subtract(ringThreeInfo.getRgzxqjsl())).divide(ringThreeInfo.getRgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                dto.setRingFwjszzl(compare0(ringThreeInfo.getRfwjsl()) ? compare100((currThreeInfo.getRfwjsl().subtract(ringThreeInfo.getRfwjsl())).divide(ringThreeInfo.getRfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+                dto.setRingZtzhzzl(compare0(ringThreeInfo.getRztzhjsl()) ? compare100((currThreeInfo.getRztzhjsl().subtract(ringThreeInfo.getRztzhjsl())).divide(ringThreeInfo.getRztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+                dto.setRingXqjszzl(compare0(ringThreeInfo.getRgzxqjsl()) ? compare100((currThreeInfo.getRgzxqjsl().subtract(ringThreeInfo.getRgzxqjsl())).divide(ringThreeInfo.getRgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
 
 
             }
             }
 
 
             if (null != withThreeInfo) {
             if (null != withThreeInfo) {
 
 
-                dto.setWithFwjszzl(compare100((currThreeInfo.getRfwjsl().subtract(withThreeInfo.getRfwjsl())).divide(withThreeInfo.getRfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setWithZtzhzzl(compare100((currThreeInfo.getRztzhjsl().subtract(withThreeInfo.getRztzhjsl())).divide(withThreeInfo.getRztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setWithXqjszzl(compare100((currThreeInfo.getRgzxqjsl().subtract(withThreeInfo.getRgzxqjsl())).divide(withThreeInfo.getRgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                dto.setWithFwjszzl(compare0(withThreeInfo.getRfwjsl()) ? compare100((currThreeInfo.getRfwjsl().subtract(withThreeInfo.getRfwjsl())).divide(withThreeInfo.getRfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+                dto.setWithZtzhzzl(compare0(withThreeInfo.getRfwjsl()) ? compare100((currThreeInfo.getRztzhjsl().subtract(withThreeInfo.getRztzhjsl())).divide(withThreeInfo.getRztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+                dto.setWithXqjszzl(compare0(withThreeInfo.getRfwjsl()) ? compare100((currThreeInfo.getRgzxqjsl().subtract(withThreeInfo.getRgzxqjsl())).divide(withThreeInfo.getRgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
 
 
             }
             }
 
 
@@ -678,17 +678,17 @@ public class EconomyPointHomePageService {
 
 
             if (null != ringThreeInfo) {
             if (null != ringThreeInfo) {
 
 
-                dto.setRingFwjszzl(compare100((currThreeInfo.getYfwjsl().subtract(ringThreeInfo.getYfwjsl())).divide(ringThreeInfo.getYfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setRingZtzhzzl(compare100((currThreeInfo.getYztzhjsl().subtract(ringThreeInfo.getYztzhjsl())).divide(ringThreeInfo.getYztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setRingXqjszzl(compare100((currThreeInfo.getYgzxqjsl().subtract(ringThreeInfo.getYgzxqjsl())).divide(ringThreeInfo.getYgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                dto.setRingFwjszzl(compare0(ringThreeInfo.getYfwjsl())?compare100((currThreeInfo.getYfwjsl().subtract(ringThreeInfo.getYfwjsl())).divide(ringThreeInfo.getYfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
+                dto.setRingZtzhzzl(compare0(ringThreeInfo.getYztzhjsl())?compare100((currThreeInfo.getYztzhjsl().subtract(ringThreeInfo.getYztzhjsl())).divide(ringThreeInfo.getYztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
+                dto.setRingXqjszzl(compare0(ringThreeInfo.getYgzxqjsl())?compare100((currThreeInfo.getYgzxqjsl().subtract(ringThreeInfo.getYgzxqjsl())).divide(ringThreeInfo.getYgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
 
 
             }
             }
 
 
             if (null != withThreeInfo) {
             if (null != withThreeInfo) {
 
 
-                dto.setWithFwjszzl(compare100((currThreeInfo.getYfwjsl().subtract(withThreeInfo.getYfwjsl())).divide(withThreeInfo.getYfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setWithZtzhzzl(compare100((currThreeInfo.getYztzhjsl().subtract(withThreeInfo.getYztzhjsl())).divide(withThreeInfo.getYztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
-                dto.setWithXqjszzl(compare100((currThreeInfo.getYgzxqjsl().subtract(withThreeInfo.getYgzxqjsl())).divide(withThreeInfo.getYgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))));
+                dto.setWithFwjszzl(compare0(withThreeInfo.getYfwjsl())?compare100((currThreeInfo.getYfwjsl().subtract(withThreeInfo.getYfwjsl())).divide(withThreeInfo.getYfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
+                dto.setWithZtzhzzl(compare0(withThreeInfo.getYztzhjsl())?compare100((currThreeInfo.getYztzhjsl().subtract(withThreeInfo.getYztzhjsl())).divide(withThreeInfo.getYztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
+                dto.setWithXqjszzl(compare0(withThreeInfo.getYgzxqjsl())?compare100((currThreeInfo.getYgzxqjsl().subtract(withThreeInfo.getYgzxqjsl())).divide(withThreeInfo.getYgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0));
 
 
             }
             }
 
 
@@ -710,17 +710,17 @@ public class EconomyPointHomePageService {
 
 
             if (null != ringThreeInfo) {
             if (null != ringThreeInfo) {
 
 
-                dto.setRingFwjszzl((currThreeInfo.getNfwjsl().subtract(ringThreeInfo.getNfwjsl())).divide(ringThreeInfo.getNfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                dto.setRingZtzhzzl((currThreeInfo.getNztzhjsl().subtract(ringThreeInfo.getNztzhjsl())).divide(ringThreeInfo.getNztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                dto.setRingXqjszzl((currThreeInfo.getNgzxqjsl().subtract(ringThreeInfo.getNgzxqjsl())).divide(ringThreeInfo.getNgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                dto.setRingFwjszzl(compare0(ringThreeInfo.getNfwjsl())?(currThreeInfo.getNfwjsl().subtract(ringThreeInfo.getNfwjsl())).divide(ringThreeInfo.getNfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
+                dto.setRingZtzhzzl(compare0(ringThreeInfo.getNztzhjsl())?(currThreeInfo.getNztzhjsl().subtract(ringThreeInfo.getNztzhjsl())).divide(ringThreeInfo.getNztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
+                dto.setRingXqjszzl(compare0(ringThreeInfo.getNgzxqjsl())?(currThreeInfo.getNgzxqjsl().subtract(ringThreeInfo.getNgzxqjsl())).divide(ringThreeInfo.getNgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
 
 
             }
             }
 
 
             if (null != withThreeInfo) {
             if (null != withThreeInfo) {
 
 
-                dto.setWithFwjszzl((currThreeInfo.getNfwjsl().subtract(withThreeInfo.getNfwjsl())).divide(withThreeInfo.getNfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                dto.setWithZtzhzzl((currThreeInfo.getNztzhjsl().subtract(withThreeInfo.getNztzhjsl())).divide(withThreeInfo.getNztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                dto.setWithXqjszzl((currThreeInfo.getNgzxqjsl().subtract(withThreeInfo.getNgzxqjsl())).divide(withThreeInfo.getNgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                dto.setWithFwjszzl(compare0(withThreeInfo.getNfwjsl())?(currThreeInfo.getNfwjsl().subtract(withThreeInfo.getNfwjsl())).divide(withThreeInfo.getNfwjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
+                dto.setWithZtzhzzl(compare0(withThreeInfo.getNztzhjsl())?(currThreeInfo.getNztzhjsl().subtract(withThreeInfo.getNztzhjsl())).divide(withThreeInfo.getNztzhjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
+                dto.setWithXqjszzl(compare0(withThreeInfo.getNgzxqjsl())?(currThreeInfo.getNgzxqjsl().subtract(withThreeInfo.getNgzxqjsl())).divide(withThreeInfo.getNgzxqjsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")): new BigDecimal(0));
 
 
             }
             }
 
 
@@ -752,16 +752,16 @@ public class EconomyPointHomePageService {
 
 
         if (null != currFiveInfo && null != currDlInfo) {
         if (null != currFiveInfo && null != currDlInfo) {
 
 
-            BigDecimal currZhcydl = currDlInfo.getRzhcydldb().divide(currFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            BigDecimal currZhcydl = compare0(currFiveInfo.getRfdl())?compare100(currDlInfo.getRzhcydldb().divide(currFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))):new BigDecimal(0);
             dto.setCurrZhcydl(currZhcydl);
             dto.setCurrZhcydl(currZhcydl);
 
 
-            if (null != ringFiveInfo && null != ringDlInfo) {
+            if (null != ringFiveInfo && null != ringDlInfo && compare0(ringFiveInfo.getRfdl())) {
                 BigDecimal ringZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 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) {
+            if (null != withFiveInfo && null != withDlInfo && compare0(ringFiveInfo.getRfdl())) {
                 BigDecimal withZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydl = ringDlInfo.getRzhcydldb().divide(ringFiveInfo.getRfdl(), 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);
@@ -769,7 +769,7 @@ public class EconomyPointHomePageService {
 
 
         }
         }
 
 
-        if (null != currGlInfo) {
+        if (null != currGlInfo && compare0(capacity)) {
             BigDecimal currGlqxfhl = currGlInfo.getRpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             BigDecimal currGlqxfhl = currGlInfo.getRpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrGlqxfhl(currGlqxfhl);
             dto.setCurrGlqxfhl(currGlqxfhl);
             if (null != ringGlInfo) {
             if (null != ringGlInfo) {
@@ -789,6 +789,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 : 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);
             if (null != ringTimeInfo) {
             if (null != ringTimeInfo) {
@@ -852,13 +853,13 @@ public class EconomyPointHomePageService {
 
 
         if (null != currTimeInfo) {
         if (null != currTimeInfo) {
 
 
-            int currhours = DateUtils.hoursDiff(DateUtils.getStartOfDay(new Date()), 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);
             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(DateUtils.getMonthFirstZero(), new Date());
+                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);
                 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"));
@@ -866,7 +867,7 @@ public class EconomyPointHomePageService {
             }
             }
             if (null != withTimeInfo) {
             if (null != withTimeInfo) {
 
 
-                int withhours = DateUtils.hoursDiff(DateUtils.getMonthFirstZero(), new Date());
+                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);
                 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"));
@@ -897,23 +898,23 @@ public class EconomyPointHomePageService {
 
 
         if (null != currFiveInfo && null != currDlInfo) {
         if (null != currFiveInfo && null != currDlInfo) {
 
 
-            BigDecimal currZhcydl = currDlInfo.getNzhcydldb().divide(currFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+            BigDecimal currZhcydl = compare0(currFiveInfo.getNfdl()) ? currDlInfo.getNzhcydldb().divide(currFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0);
             dto.setCurrZhcydl(currZhcydl);
             dto.setCurrZhcydl(currZhcydl);
 
 
-            if (null != ringFiveInfo && null != ringDlInfo) {
+            if (null != ringFiveInfo && null != ringDlInfo && compare0(ringFiveInfo.getNfdl())) {
                 BigDecimal ringZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal ringZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 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) {
+            if (null != withFiveInfo && null != withDlInfo && compare0(ringFiveInfo.getNfdl())) {
                 BigDecimal withZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
                 BigDecimal withZhcydl = ringDlInfo.getNzhcydldb().divide(ringFiveInfo.getNfdl(), 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) {
+        if (null != currGlInfo && compare0(capacity)) {
             BigDecimal currGlqxfhl = currGlInfo.getNpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             BigDecimal currGlqxfhl = currGlInfo.getNpjglcx().divide(capacity, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrGlqxfhl(currGlqxfhl);
             dto.setCurrGlqxfhl(currGlqxfhl);
             if (null != ringGlInfo) {
             if (null != ringGlInfo) {
@@ -931,22 +932,25 @@ public class EconomyPointHomePageService {
 
 
         if (null != currTimeInfo) {
         if (null != currTimeInfo) {
 
 
-            int currhours = DateUtils.hoursDiff(DateUtils.getStartOfDay(new Date()), 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);
             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(DateUtils.getMonthFirstZero(), new Date());
+                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);
                 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);
             }
             }
             if (null != withTimeInfo) {
             if (null != withTimeInfo) {
 
 
-                int withhours = DateUtils.hoursDiff(DateUtils.getMonthFirstZero(), new Date());
+                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);
                 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.setRingSbklyzzl(withSbklyzzl);
                 dto.setRingSbklyzzl(withSbklyzzl);
@@ -967,8 +971,7 @@ public class EconomyPointHomePageService {
 
 
     private boolean compare0(BigDecimal a){
     private boolean compare0(BigDecimal a){
         BigDecimal b = new BigDecimal (0.00);
         BigDecimal b = new BigDecimal (0.00);
-        BigDecimal c = new BigDecimal (0);
-        if(b.compareTo(a) == 0 || c.compareTo(a) == 0){
+        if(b.compareTo(a.setScale(2,BigDecimal.ROUND_HALF_UP)) == 0){
            return false;
            return false;
         }
         }
         return true;
         return true;
@@ -977,4 +980,5 @@ public class EconomyPointHomePageService {
 
 
 
 
 
 
+
 }
 }