wangchangsheng 2 лет назад
Родитель
Сommit
9ad930234b

+ 14 - 5
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay1ServiceImpl.java

@@ -41,15 +41,17 @@ public class ProEconPowerstationInfoDay1ServiceImpl extends ServiceImpl<ProEconP
     public Map<String, ProEconPowerstationInfoDay1> getEconFiveLoss(String foreignKeyId, String staType, String dateType, Date date) {
         Map<String, ProEconPowerstationInfoDay1> resultmap = new HashMap<>();
 
-        QueryWrapper<ProEconPowerstationInfoDay1> qw = new QueryWrapper<>();
+        QueryWrapper<ProEconPowerstationInfoDay1> qw =null;
+
 
-        if (StringUtils.isNotEmpty(foreignKeyId)) {
-            qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
-        }
 
         //当前数据
         List<ProEconPowerstationInfoDay1> currlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(foreignKeyId)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
             qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, date);
             currlist = baseMapper.selectList(qw);
             resultmap.put("currFiveInfo", currlist.size() > 0 ? currlist.get(0) : null);
@@ -59,7 +61,10 @@ public class ProEconPowerstationInfoDay1ServiceImpl extends ServiceImpl<ProEconP
         //环比数据
         List<ProEconPowerstationInfoDay1> ringlist = new ArrayList<>();
         if (null !=date) {
-//            String ring = DateUtils.toDate1(DateUtils.addMonths(new Date(), -1));
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(foreignKeyId)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
             Date ring = DateUtils.addMonths(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, ring);
             ringlist = baseMapper.selectList(qw);
@@ -69,6 +74,10 @@ public class ProEconPowerstationInfoDay1ServiceImpl extends ServiceImpl<ProEconP
         //同比
         List<ProEconPowerstationInfoDay1> withlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(foreignKeyId)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
             Date with = DateUtils.addYears(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, with);
             withlist = baseMapper.selectList(qw);

+ 14 - 4
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay2ServiceImpl.java

@@ -27,16 +27,18 @@ public class ProEconPowerstationInfoDay2ServiceImpl extends ServiceImpl<ProEconP
     public Map<String, ProEconPowerstationInfoDay2> getEconFiveLossTime(String foreignKeyId, String staType, String dateType, Date date) {
         Map<String, ProEconPowerstationInfoDay2> resultmap = new HashMap<>();
 
-        QueryWrapper<ProEconPowerstationInfoDay2> qw = new QueryWrapper<>();
+        QueryWrapper<ProEconPowerstationInfoDay2> qw = null;
+
 
 
-        if (StringUtils.isNotEmpty(staType)) {
-            qw.lambda().eq(ProEconPowerstationInfoDay2::getForeignKeyId, foreignKeyId+staType);
-        }
 
         //当前数据
         List<ProEconPowerstationInfoDay2> currlist = new ArrayList<>();
         if (null != date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay2::getForeignKeyId, foreignKeyId+staType);
+            }
             qw.lambda().eq(ProEconPowerstationInfoDay2::getRecordDate, date);
             currlist = getBaseMapper().selectList(qw);
             resultmap.put("currTimeInfo",currlist.size()>0?currlist.get(0):null);
@@ -46,6 +48,10 @@ public class ProEconPowerstationInfoDay2ServiceImpl extends ServiceImpl<ProEconP
         //环比数据
         List<ProEconPowerstationInfoDay2> ringlist = new ArrayList<>();
         if (null != date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay2::getForeignKeyId, foreignKeyId+staType);
+            }
             Date ring = DateUtils.addMonths(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay2::getRecordDate, ring);
             ringlist = getBaseMapper().selectList(qw);
@@ -55,6 +61,10 @@ public class ProEconPowerstationInfoDay2ServiceImpl extends ServiceImpl<ProEconP
         //同比
         List<ProEconPowerstationInfoDay2> withlist = new ArrayList<>();
         if (null != date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay2::getForeignKeyId, foreignKeyId+staType);
+            }
             Date with = DateUtils.addYears(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay2::getRecordDate, with);
             withlist = getBaseMapper().selectList(qw);

+ 13 - 7
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay4ServiceImpl.java

@@ -29,17 +29,15 @@ public class ProEconPowerstationInfoDay4ServiceImpl extends ServiceImpl<ProEconP
 
         Map<String, ProEconPowerstationInfoDay4> resultmap = new HashMap<>();
 
-        QueryWrapper<ProEconPowerstationInfoDay4> qw = new QueryWrapper<>();
-
-
-        if (StringUtils.isNotEmpty(staType)) {
-            qw.lambda().eq(ProEconPowerstationInfoDay4::getForeignKeyId, foreignKeyId+staType);
-        }
-
+        QueryWrapper<ProEconPowerstationInfoDay4> qw = null;
 
         //当前数据
         List<ProEconPowerstationInfoDay4> currlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay4::getForeignKeyId, foreignKeyId+staType);
+            }
             qw.lambda().eq(ProEconPowerstationInfoDay4::getRecordDate, date);
             currlist = getBaseMapper().selectList(qw);
             resultmap.put("currThreeInfo",currlist.size()>0?currlist.get(0):null);
@@ -49,6 +47,10 @@ public class ProEconPowerstationInfoDay4ServiceImpl extends ServiceImpl<ProEconP
         //环比数据
         List<ProEconPowerstationInfoDay4> ringlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay4::getForeignKeyId, foreignKeyId+staType);
+            }
             Date ring = DateUtils.addMonths(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay4::getRecordDate, ring);
             ringlist = getBaseMapper().selectList(qw);
@@ -58,6 +60,10 @@ public class ProEconPowerstationInfoDay4ServiceImpl extends ServiceImpl<ProEconP
         //同比
         List<ProEconPowerstationInfoDay4> withlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay4::getForeignKeyId, foreignKeyId+staType);
+            }
             Date with =DateUtils.addYears(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay4::getRecordDate, with);
             withlist = getBaseMapper().selectList(qw);

+ 14 - 4
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay5ServiceImpl.java

@@ -29,14 +29,16 @@ public class ProEconPowerstationInfoDay5ServiceImpl extends ServiceImpl<ProEconP
     public Map<String, ProEconPowerstationInfoDay5> getEconElectricQuantity( String foreignKeyId, String staType, String dateType, Date date) {
         Map<String, ProEconPowerstationInfoDay5> resultmap = new HashMap<>();
 
-        QueryWrapper<ProEconPowerstationInfoDay5> qw = new QueryWrapper<>();
+        QueryWrapper<ProEconPowerstationInfoDay5> qw = null;
+
 
-        if (StringUtils.isNotEmpty(staType)) {
-            qw.lambda().eq(ProEconPowerstationInfoDay5::getForeignKeyId, foreignKeyId+staType);
-        }
         //当前数据
         List<ProEconPowerstationInfoDay5> currlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay5::getForeignKeyId, foreignKeyId+staType);
+            }
             qw.lambda().eq(ProEconPowerstationInfoDay5::getRecordDate, date);
             currlist = getBaseMapper().selectList(qw);
             resultmap.put("currDlInfo",currlist.size()>0?currlist.get(0):null);
@@ -46,6 +48,10 @@ public class ProEconPowerstationInfoDay5ServiceImpl extends ServiceImpl<ProEconP
         //环比数据
         List<ProEconPowerstationInfoDay5> ringlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay5::getForeignKeyId, foreignKeyId+staType);
+            }
             Date ring = DateUtils.addMonths(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay5::getRecordDate, ring);
             ringlist = getBaseMapper().selectList(qw);
@@ -55,6 +61,10 @@ public class ProEconPowerstationInfoDay5ServiceImpl extends ServiceImpl<ProEconP
         //同比
         List<ProEconPowerstationInfoDay5> withlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay5::getForeignKeyId, foreignKeyId+staType);
+            }
             Date with = DateUtils.addYears(new Date(), -1);
             qw.lambda().eq(ProEconPowerstationInfoDay5::getRecordDate, with);
             withlist = getBaseMapper().selectList(qw);

+ 14 - 4
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay6ServiceImpl.java

@@ -27,15 +27,17 @@ public class ProEconPowerstationInfoDay6ServiceImpl extends ServiceImpl<ProEconP
     public Map<String, ProEconPowerstationInfoDay6> getEconPowerOfField(String foreignKeyId, String staType, String dateType, Date date) {
         Map<String, ProEconPowerstationInfoDay6> resultmap = new HashMap<>();
 
-        QueryWrapper<ProEconPowerstationInfoDay6> qw = new QueryWrapper<>();
+        QueryWrapper<ProEconPowerstationInfoDay6> qw = null;
+
 
-        if (StringUtils.isNotEmpty(staType)) {
-            qw.lambda().eq(ProEconPowerstationInfoDay6::getForeignKeyId, foreignKeyId+staType);
-        }
 
         //当前数据
         List<ProEconPowerstationInfoDay6> currlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay6::getForeignKeyId, foreignKeyId+staType);
+            }
             qw.lambda().eq(ProEconPowerstationInfoDay6::getRecordDate, date);
             currlist = getBaseMapper().selectList(qw);
             resultmap.put("currGlInfo",currlist.size()>0?currlist.get(0):null);
@@ -45,6 +47,10 @@ public class ProEconPowerstationInfoDay6ServiceImpl extends ServiceImpl<ProEconP
         //环比数据
         List<ProEconPowerstationInfoDay6> ringlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay6::getForeignKeyId, foreignKeyId+staType);
+            }
             Date ring =DateUtils.addMonths(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay6::getRecordDate, ring);
             ringlist = getBaseMapper().selectList(qw);
@@ -54,6 +60,10 @@ public class ProEconPowerstationInfoDay6ServiceImpl extends ServiceImpl<ProEconP
         //同比
         List<ProEconPowerstationInfoDay6> withlist = new ArrayList<>();
         if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay6::getForeignKeyId, foreignKeyId+staType);
+            }
             Date with = DateUtils.addYears(date, -1);
             qw.lambda().eq(ProEconPowerstationInfoDay6::getRecordDate, with);
             withlist = getBaseMapper().selectList(qw);

+ 317 - 136
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -48,7 +48,7 @@ public class EconomyPointHomePageService {
     /**
      * 指标率相应类
      */
-    private EconHomePagePointRateDTO dto = new EconHomePagePointRateDTO();
+    private EconHomePagePointRateDTO dto = null;
     /**
      * 五损
      */
@@ -119,6 +119,8 @@ public class EconomyPointHomePageService {
         String strdate = DateUtils.toDate1(new Date());
         Date date = DateUtils.parseDate(strdate);
 
+        dto = new EconHomePagePointRateDTO();
+
 
         /** 五损 */
         wsmap = proEconPowerstationInfoDay1Service.getEconFiveLoss(foreignKeyId, staType, dateType, date);
@@ -563,45 +565,67 @@ public class EconomyPointHomePageService {
             dto.setCurrXNsll(currxnsll);
 
 
-            if (null != ringFiveInfo) {
+            if (null != ringFiveInfo && compare0(ringFiveInfo.getRllfdl())) {
                 BigDecimal ringgzsll = compare100(ringFiveInfo.getRgzssdl().divide(ringFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringjxsll = compare100(ringFiveInfo.getRjxssdl().divide(ringFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxdsll = compare100((ringFiveInfo.getRxdtjssdl().add(ringFiveInfo.getRxdjclssdl())).divide(ringFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringslsll = compare100((ringFiveInfo.getRcwsldwssdl().add(ringFiveInfo.getRcwsltqssdl())).divide(ringFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxnsll = compare100(ringFiveInfo.getRxnssdl().divide(ringFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal ringGzslzzl = currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                BigDecimal ringjxslzzl = currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                BigDecimal ringxdslzzl = currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                BigDecimal ringslslzzl = currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                BigDecimal ringxnslzzl = currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                if(compare0(ringgzsll)){
+                    BigDecimal ringGzslzzl = currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingGzslzzl(ringGzslzzl);
+                }
+                if(compare0(ringjxsll)){
+                    BigDecimal ringjxslzzl = currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingJxslzzl(ringjxslzzl);
+                }
+                if(compare0(ringxdsll)){
+                    BigDecimal ringxdslzzl = currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingXdslzzl(ringxdslzzl);
+                }
+                if(compare0(ringslsll)){
+                    BigDecimal ringslslzzl = currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingSlslzzl(ringslslzzl);
+                }
+                if(compare0(ringxnsll)){
+                    BigDecimal ringxnslzzl = currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingXnslzzl(ringxnslzzl);
+                }
+
+
+
 
-                dto.setRingGzslzzl(ringGzslzzl);
-                dto.setRingJxslzzl(ringjxslzzl);
-                dto.setRingXdslzzl(ringxdslzzl);
-                dto.setRingSlslzzl(ringslslzzl);
-                dto.setRingXnslzzl(ringxnslzzl);
 
             }
 
-            if (null != withFiveInfo) {
+            if (null != withFiveInfo && compare0(withFiveInfo.getRllfdl())) {
                 BigDecimal withgzsll = compare100(withFiveInfo.getRgzssdl().divide(withFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withjxsll = compare100(withFiveInfo.getRjxssdl().divide(withFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxdsll = compare100((withFiveInfo.getRxdtjssdl().add(withFiveInfo.getRxdjclssdl())).divide(withFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withslsll = compare100((withFiveInfo.getRcwsldwssdl().add(withFiveInfo.getRcwsltqssdl())).divide(withFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxnsll = compare100(withFiveInfo.getRxnssdl().divide(withFiveInfo.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-
-                dto.setWithGzslzzl(withGzslzzl);
-                dto.setWithJxslzzl(withjxslzzl);
-                dto.setWithXdslzzl(withxdslzzl);
-                dto.setWithSlslzzl(withslslzzl);
-                dto.setWithXnslzzl(withxnslzzl);
+                if(compare0(withgzsll)){
+                    BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithGzslzzl(withGzslzzl);
+                }
+                if(compare0(withjxsll)){
+                    BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithJxslzzl(withjxslzzl);
+                }
+                if(compare0(withxdsll)){
+                    BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXdslzzl(withxdslzzl);
+                }
+                if(compare0(withslsll)){
+                    BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithSlslzzl(withslslzzl);
+                }
+                if(compare0(withxnsll)){
+                    BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXnslzzl(withxnslzzl);
+                }
             }
         }
 
@@ -627,45 +651,75 @@ public class EconomyPointHomePageService {
             dto.setCurrXNsll(currxnsll);
 
 
-            if (null != ringFiveInfo) {
+            if (null != ringFiveInfo  && compare0(ringFiveInfo.getYllfdl())) {
                 BigDecimal ringgzsll = compare100(ringFiveInfo.getYgzssdl().divide(ringFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringjxsll = compare100(ringFiveInfo.getYjxssdl().divide(ringFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxdsll = compare100((ringFiveInfo.getYxdtjssdl().add(ringFiveInfo.getYxdjclssdl())).divide(ringFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringslsll = compare100((ringFiveInfo.getYcwsldwssdl().add(ringFiveInfo.getYcwsltqssdl())).divide(ringFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxnsll = compare100(ringFiveInfo.getYxnssdl().divide(ringFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal ringGzslzzl = compare100(currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringjxslzzl = compare100(currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringxdslzzl = compare100(currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringslslzzl = compare100(currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringxnslzzl = compare100(currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                dto.setRingGzslzzl(ringGzslzzl);
-                dto.setRingJxslzzl(ringjxslzzl);
-                dto.setRingXdslzzl(ringxdslzzl);
-                dto.setRingSlslzzl(ringslslzzl);
-                dto.setRingXnslzzl(ringxnslzzl);
+
+                if(compare0(ringgzsll)){
+                    BigDecimal ringGzslzzl = compare100(currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingGzslzzl(ringGzslzzl);
+
+                }
+                if(compare0(ringjxsll)){
+                    BigDecimal ringjxslzzl = compare100(currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingJxslzzl(ringjxslzzl);
+
+                }
+                if(compare0(ringxdsll)){
+                    BigDecimal ringxdslzzl = compare100(currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingXdslzzl(ringxdslzzl);
+
+                }
+                if(compare0(ringslsll)){
+                    BigDecimal ringslslzzl = compare100(currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingSlslzzl(ringslslzzl);
+
+                }
+                if(compare0(ringxnsll)){
+                    BigDecimal ringxnslzzl = compare100(currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingXnslzzl(ringxnslzzl);
+
+                }
+
 
             }
 
-            if (null != withFiveInfo) {
+            if (null != withFiveInfo && compare0(withFiveInfo.getYllfdl())) {
                 BigDecimal withgzsll = compare100(withFiveInfo.getYgzssdl().divide(withFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withjxsll = compare100(withFiveInfo.getYjxssdl().divide(withFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxdsll = compare100((withFiveInfo.getYxdtjssdl().add(withFiveInfo.getYxdjclssdl())).divide(withFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withslsll = compare100((withFiveInfo.getYcwsldwssdl().add(withFiveInfo.getYcwsltqssdl())).divide(withFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxnsll = compare100(withFiveInfo.getYxnssdl().divide(withFiveInfo.getYllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-
-                dto.setWithGzslzzl(withGzslzzl);
-                dto.setWithJxslzzl(withjxslzzl);
-                dto.setWithXdslzzl(withxdslzzl);
-                dto.setWithSlslzzl(withslslzzl);
-                dto.setWithXnslzzl(withxnslzzl);
+                if(compare0(withgzsll)){
+                    BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithGzslzzl(withGzslzzl);
+
+                }
+                if(compare0(withjxsll)){
+                    BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithJxslzzl(withjxslzzl);
+
+                }
+                if(compare0(withxdsll)){
+                    BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXdslzzl(withxdslzzl);
+
+                }
+                if(compare0(withslsll)){
+                    BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithSlslzzl(withslslzzl);
+
+                }
+                if(compare0(withxnsll)){
+                    BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXnslzzl(withxnslzzl);
+                }
             }
 
         }
@@ -691,45 +745,76 @@ public class EconomyPointHomePageService {
             dto.setCurrSlsll(currslsll);
             dto.setCurrXNsll(currxnsll);
 
-            if (null != ringFiveInfo) {
+            if (null != ringFiveInfo  && compare0(ringFiveInfo.getNllfdl())) {
                 BigDecimal ringgzsll = compare100(ringFiveInfo.getNgzssdl().divide(ringFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringjxsll = compare100(ringFiveInfo.getNjxssdl().divide(ringFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxdsll = compare100((ringFiveInfo.getNxdtjssdl().add(ringFiveInfo.getNxdjclssdl())).divide(ringFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringslsll = compare100((ringFiveInfo.getNcwsldwssdl().add(ringFiveInfo.getNcwsltqssdl())).divide(ringFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal ringxnsll = compare100(ringFiveInfo.getNxnssdl().divide(ringFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal ringGzslzzl = compare100(currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringjxslzzl = compare100(currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringxdslzzl = compare100(currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringslslzzl = compare100(currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal ringxnslzzl = compare100(currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                dto.setRingGzslzzl(ringGzslzzl);
-                dto.setRingJxslzzl(ringjxslzzl);
-                dto.setRingXdslzzl(ringxdslzzl);
-                dto.setRingSlslzzl(ringslslzzl);
-                dto.setRingXnslzzl(ringxnslzzl);
+
+                if(compare0(ringgzsll)){
+                    BigDecimal ringGzslzzl = compare100(currgzsll.subtract(ringgzsll).divide(ringgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingGzslzzl(ringGzslzzl);
+
+                }
+                if(compare0(ringjxsll)){
+                    BigDecimal ringjxslzzl = compare100(currjxsll.subtract(ringjxsll).divide(ringjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingJxslzzl(ringjxslzzl);
+
+                }
+                if(compare0(ringxdsll)){
+                    BigDecimal ringxdslzzl = compare100(currxdsll.subtract(ringxdsll).divide(ringxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingXdslzzl(ringxdslzzl);
+
+                }
+                if(compare0(ringslsll)){
+                    BigDecimal ringslslzzl = compare100(currslsll.subtract(ringslsll).divide(ringslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingSlslzzl(ringslslzzl);
+
+                }
+                if(compare0(ringxnsll)){
+                    BigDecimal ringxnslzzl = compare100(currxnsll.subtract(ringxnsll).divide(ringxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setRingXnslzzl(ringxnslzzl);
+                }
+
 
             }
 
-            if (null != withFiveInfo) {
+            if (null != withFiveInfo && compare0(withFiveInfo.getNllfdl())) {
                 BigDecimal withgzsll = compare100(withFiveInfo.getNgzssdl().divide(withFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withjxsll = compare100(withFiveInfo.getNjxssdl().divide(withFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxdsll = compare100((withFiveInfo.getNxdtjssdl().add(withFiveInfo.getNxdjclssdl())).divide(withFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withslsll = compare100((withFiveInfo.getNcwsldwssdl().add(withFiveInfo.getNcwsltqssdl())).divide(withFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
                 BigDecimal withxnsll = compare100(withFiveInfo.getNxnssdl().divide(withFiveInfo.getNllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
 
-                BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-                BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
-
-                dto.setWithGzslzzl(withGzslzzl);
-                dto.setWithJxslzzl(withjxslzzl);
-                dto.setWithXdslzzl(withxdslzzl);
-                dto.setWithSlslzzl(withslslzzl);
-                dto.setWithXnslzzl(withxnslzzl);
+                if(compare0(withgzsll)){
+                    BigDecimal withGzslzzl = compare100(currgzsll.subtract(withgzsll).divide(withgzsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithGzslzzl(withGzslzzl);
+
+                }
+                if(compare0(withjxsll)){
+                    BigDecimal withjxslzzl = compare100(currjxsll.subtract(withjxsll).divide(withjxsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithJxslzzl(withjxslzzl);
+
+                }
+                if(compare0(withxdsll)){
+                    BigDecimal withxdslzzl = compare100(currxdsll.subtract(withxdsll).divide(withxdsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXdslzzl(withxdslzzl);
+
+                }
+                if(compare0(withslsll)){
+                    BigDecimal withslslzzl = compare100(currslsll.subtract(withslsll).divide(withslsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithSlslzzl(withslslzzl);
+
+                }
+                if(compare0(withxnsll)){
+                    BigDecimal withxnslzzl = compare100(currxnsll.subtract(withxnsll).divide(withxnsll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")));
+                    dto.setWithXnslzzl(withxnslzzl);
+                }
+
+
             }
 
         }
@@ -754,17 +839,34 @@ public class EconomyPointHomePageService {
 
             if (null != ringThreeInfo) {
 
-                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(compare0(ringThreeInfo.getRfwjsl())){
+                    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));
+
+                }
+                if(compare0(ringThreeInfo.getRztzhjsl())){
+                    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));
+
+                }
+                if(compare0(ringThreeInfo.getRgzxqjsl())){
+                    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 ) {
+                if(compare0(withThreeInfo.getRfwjsl())){
+                    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));
+
+                }
+                if(compare0(withThreeInfo.getRztzhjsl())){
+                    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.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));
+                }
+                if(compare0(withThreeInfo.getRgzxqjsl())){
+                    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));
+
+                }
 
             }
 
@@ -786,18 +888,34 @@ public class EconomyPointHomePageService {
 
 
             if (null != ringThreeInfo) {
+                if(compare0(ringThreeInfo.getYfwjsl())){
+                    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));
+
+                }
+                if(compare0(ringThreeInfo.getYztzhjsl())){
+                    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.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(compare0(ringThreeInfo.getYgzxqjsl())){
+                    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(compare0(withThreeInfo.getYfwjsl())){
+                    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));
+
+                }
+                if(compare0(withThreeInfo.getYztzhjsl())){
+                    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));
+
+                }
+                if(compare0(withThreeInfo.getYgzxqjsl())){
+                    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));
 
-                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));
+                }
 
             }
 
@@ -818,18 +936,34 @@ public class EconomyPointHomePageService {
 
 
             if (null != ringThreeInfo) {
+                if(compare0(ringThreeInfo.getNfwjsl())){
+                    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.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(compare0(ringThreeInfo.getNztzhjsl())){
+                    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));
+
+                }
+                if(compare0(ringThreeInfo.getNgzxqjsl())){
+                    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(compare0(withThreeInfo.getNfwjsl())){
+                    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));
+
+                }
+                if(compare0(withThreeInfo.getNztzhjsl())){
+                    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.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));
+                }
+                if(compare0(withThreeInfo.getNgzxqjsl())){
+                    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));
+
+                }
 
             }
 
@@ -855,23 +989,31 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
-        if ( null != currDlInfo) {
+        if ( null != currDlInfo && compare0(currDlInfo.getRfdldb())) {
 
             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);
 
             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"));
-                dto.setRingZhcydzzl(ringZhcydzzl);
+                if (compare0(ringDlInfo.getRfdldb())) {
+                    BigDecimal ringZhcydl = ringDlInfo.getRzhcydldb().divide(ringDlInfo.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+
+                    if (compare0(ringZhcydl)) {
+                        BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                        dto.setRingZhcydzzl(ringZhcydzzl);
+                    }
+                }
             }
 
             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"));
-                dto.setWithZhcydzzl(withZhcydzzl);
+                if(compare0(withDlInfo.getRfdldb())){
+                    BigDecimal withZhcydl = withDlInfo.getRzhcydldb().divide(withDlInfo.getRfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    if(compare0(withZhcydl)){
+                        BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                        dto.setWithZhcydzzl(withZhcydzzl);
+                    }
+                }
             }
-
         }
 
         if (null != currGlInfo && compare0(capacity)) {
@@ -879,13 +1021,19 @@ public class EconomyPointHomePageService {
             dto.setCurrGlqxfhl(currGlqxfhl);
             if (null != ringGlInfo) {
                 BigDecimal ringGlqxfhl = ringGlInfo.getRpjglcx().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(compare0(ringGlqxfhl)){
+                    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.getRpjglcx().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(compare0(withGlqxfhl)){
+                    BigDecimal withGlqxfhzzl = (currGlqxfhl.subtract(withGlqxfhl)).divide(withGlqxfhl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithGlqxfhzzl(withGlqxfhzzl);
+                }
+
             }
         }
 
@@ -904,8 +1052,12 @@ public class EconomyPointHomePageService {
                 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 ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setRingSbklyzzl(ringSbklyzzl);
+
+                if(compare0(ringSbklyl)){
+                    BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingSbklyzzl(ringSbklyzzl);
+                }
+
             }
             if (null != withTimeInfo) {
 
@@ -913,9 +1065,10 @@ public class EconomyPointHomePageService {
                 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 withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setWithSbklyzzl(withSbklyzzl);
-
+                if(compare0(withSbklyl)){
+                    BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithSbklyzzl(withSbklyzzl);
+                }
             }
         }
 
@@ -936,21 +1089,26 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
-        if (null != currDlInfo) {
+        if (null != currDlInfo && compare0(currDlInfo.getYfdldb())) {
 
             BigDecimal currZhcydl = currDlInfo.getYzhcydldb().divide(currDlInfo.getYfdldb(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
             dto.setCurrZhcydl(currZhcydl);
 
-            if (null != ringDlInfo) {
+            if (null != ringDlInfo && compare0(ringDlInfo.getYfdldb())) {
                 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"));
-                dto.setRingZhcydzzl(ringZhcydzzl);
+                if(compare0(ringZhcydl)){
+                    BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingZhcydzzl(ringZhcydzzl);
+                }
             }
 
-            if (null != withDlInfo) {
+            if (null != withDlInfo && compare0(withDlInfo.getYfdldb())) {
                 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"));
-                dto.setWithZhcydzzl(withZhcydzzl);
+                if(compare0(withZhcydl)){
+                    BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithZhcydzzl(withZhcydzzl);
+                }
+
             }
 
         }
@@ -961,13 +1119,18 @@ public class EconomyPointHomePageService {
             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(compare0(ringGlqxfhl)){
+                    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(compare0(withGlqxfhl)){
+                    BigDecimal withGlqxfhzzl = (currGlqxfhl.subtract(withGlqxfhl)).divide(withGlqxfhl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithGlqxfhzzl(withGlqxfhzzl);
+                }
             }
         }
 
@@ -985,8 +1148,11 @@ public class EconomyPointHomePageService {
                 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 ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setRingSbklyzzl(ringSbklyzzl);
+                if(compare0(ringSbklyl)){
+                    BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingSbklyzzl(ringSbklyzzl);
+                }
+
             }
             if (null != withTimeInfo) {
 
@@ -994,9 +1160,10 @@ public class EconomyPointHomePageService {
                 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 withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setWithSbklyzzl(withSbklyzzl);
-
+                if(compare0(withSbklyl)){
+                    BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithSbklyzzl(withSbklyzzl);
+                }
             }
         }
 
@@ -1017,21 +1184,25 @@ public class EconomyPointHomePageService {
         ProEconPowerstationInfoDay2 ringTimeInfo = wstimemap.get("ringTimeInfo");
         ProEconPowerstationInfoDay2 withTimeInfo = wstimemap.get("withTimeInfo");
 
-        if ( null != currDlInfo) {
+        if ( null != currDlInfo && compare0(currDlInfo.getNfdldb())) {
 
             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);
 
             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"));
-                dto.setRingZhcydzzl(ringZhcydzzl);
+                if(compare0(ringZhcydl)){
+                    BigDecimal ringZhcydzzl = (currZhcydl.subtract(ringZhcydl)).divide(ringZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingZhcydzzl(ringZhcydzzl);
+                }
             }
 
             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"));
-                dto.setWithZhcydzzl(withZhcydzzl);
+                if(compare0(withZhcydl)){
+                    BigDecimal withZhcydzzl = (currZhcydl.subtract(withZhcydl)).divide(withZhcydl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithZhcydzzl(withZhcydzzl);
+                }
             }
         }
 
@@ -1040,13 +1211,19 @@ public class EconomyPointHomePageService {
             dto.setCurrGlqxfhl(currGlqxfhl);
             if (null != ringGlInfo) {
                 BigDecimal ringGlqxfhl = ringGlInfo.getNpjglcx().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(compare0(ringGlqxfhl)){
+                    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.getNpjglcx().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(compare0(withGlqxfhl)){
+                    BigDecimal withGlqxfhzzl = (currGlqxfhl.subtract(withGlqxfhl)).divide(withGlqxfhl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithGlqxfhzzl(withGlqxfhzzl);
+                }
+
             }
         }
 
@@ -1064,8 +1241,11 @@ public class EconomyPointHomePageService {
                 BigDecimal ringhours2 = new BigDecimal(0).valueOf((int) ringhours);
                 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 ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setRingSbklyzzl(ringSbklyzzl);
+                if(compare0(ringSbklyl)){
+                    BigDecimal ringSbklyzzl = (currSbklyl.subtract(ringSbklyl)).divide(ringSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setRingSbklyzzl(ringSbklyzzl);
+                }
+
             }
             if (null != withTimeInfo) {
 
@@ -1073,9 +1253,10 @@ public class EconomyPointHomePageService {
                 BigDecimal withhours2 = new BigDecimal(0).valueOf((int) withhours);
                 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 withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
-                dto.setWithSbklyzzl(withSbklyzzl);
-
+                if(compare0(withSbklyl)){
+                    BigDecimal withSbklyzzl = (currSbklyl.subtract(withSbklyl)).divide(withSbklyl, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
+                    dto.setWithSbklyzzl(withSbklyzzl);
+                }
             }
         }
     }