Procházet zdrojové kódy

经济运行首页光伏开发

xieshengjie před 2 roky
rodič
revize
d6ea4eb77a

+ 3 - 3
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/response/EconHomePagePointRateDTO.java

@@ -52,21 +52,21 @@ public class EconHomePagePointRateDTO {
 
 
     /**
-     * 复位及时率
+     * 复位及时率/综合效率
      */
     private BigDecimal currFwjsl;
     private BigDecimal ringFwjszzl;
     private BigDecimal withFwjszzl;
 
     /**
-     * 状态转换率
+     * 状态转换率/离散率
      */
     private BigDecimal currZtzhl;
     private BigDecimal ringZtzhzzl;
     private BigDecimal withZtzhzzl;
 
     /**
-     * 消缺及时率
+     * 消缺及时率/转换效率
      */
     private BigDecimal currXqjsl;
     private BigDecimal ringXqjszzl;

+ 8 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/IProEconPowerstationInfoDay7Service.java

@@ -1,8 +1,13 @@
 package com.gyee.runeconomy.service.auto;
 
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay4;
 import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay7;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 离散率系统效率 服务类
@@ -13,4 +18,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconPowerstationInfoDay7Service extends IService<ProEconPowerstationInfoDay7> {
 
+    Map<String, ProEconPowerstationInfoDay7> getEconThreeRate(String foreignKeyId, String staType, String dateType, Date date);
+
+    List<ProEconPowerstationInfoDay7> getEconThreeRateCurve(String foreignKeyId, String staType, String dateType, Date date);
 }

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

@@ -1,11 +1,17 @@
 package com.gyee.runeconomy.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.common.model.StringUtils;
+import com.gyee.common.util.DateUtils;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay4;
 import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay7;
 import com.gyee.runeconomy.mapper.auto.ProEconPowerstationInfoDay7Mapper;
 import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay7Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.*;
+
 /**
  * <p>
  * 离散率系统效率 服务实现类
@@ -17,4 +23,77 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconPowerstationInfoDay7ServiceImpl extends ServiceImpl<ProEconPowerstationInfoDay7Mapper, ProEconPowerstationInfoDay7> implements IProEconPowerstationInfoDay7Service {
 
+    @Override
+    public Map<String, ProEconPowerstationInfoDay7> getEconThreeRate(String foreignKeyId, String staType, String dateType, Date date) {
+        Map<String, ProEconPowerstationInfoDay7> resultmap = new HashMap<>();
+
+        QueryWrapper<ProEconPowerstationInfoDay7> qw = null;
+
+        //当前数据
+        List<ProEconPowerstationInfoDay7> currlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay7::getForeignKeyId, foreignKeyId+staType);
+            }
+            qw.lambda().eq(ProEconPowerstationInfoDay7::getRecordDate, date);
+            currlist = getBaseMapper().selectList(qw);
+            resultmap.put("currThreeInfo",currlist.size()>0?currlist.get(0):null);
+        }
+
+
+        //环比数据
+        List<ProEconPowerstationInfoDay7> ringlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay7::getForeignKeyId, foreignKeyId+staType);
+            }
+            Date ring = DateUtils.addMonths(date, -1);
+            qw.lambda().eq(ProEconPowerstationInfoDay7::getRecordDate, ring);
+            ringlist = getBaseMapper().selectList(qw);
+            resultmap.put("ringThreeInfo",ringlist.size()>0?ringlist.get(0):null);
+        }
+
+        //同比
+        List<ProEconPowerstationInfoDay7> withlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay7::getForeignKeyId, foreignKeyId+staType);
+            }
+            Date with =DateUtils.addYears(date, -1);
+            qw.lambda().eq(ProEconPowerstationInfoDay7::getRecordDate, with);
+            withlist = getBaseMapper().selectList(qw);
+            resultmap.put("withThreeInfo",withlist.size()>0?withlist.get(0):null);
+        }
+
+        return resultmap;
+    }
+
+    @Override
+    public List<ProEconPowerstationInfoDay7> getEconThreeRateCurve(String foreignKeyId, String staType, String dateType, Date date) {
+        QueryWrapper<ProEconPowerstationInfoDay7> qw = new QueryWrapper<>();
+
+
+        if (StringUtils.isNotEmpty(staType)) {
+            qw.lambda().eq(ProEconPowerstationInfoDay7::getForeignKeyId, foreignKeyId+staType);
+        }
+
+        //当前数据
+        List<ProEconPowerstationInfoDay7> currlist = new ArrayList<>();
+        if (null !=date) {
+
+            Date bingdate = DateUtils.addDays(date, -6);
+
+            qw.lambda().ge(ProEconPowerstationInfoDay7::getRecordDate, bingdate);
+            qw.lambda().le(ProEconPowerstationInfoDay7::getRecordDate, date);
+        }
+
+        qw.lambda().orderByAsc(ProEconPowerstationInfoDay7::getRecordDate);
+
+        List<ProEconPowerstationInfoDay7> list = baseMapper.selectList(qw);
+
+        return list;
+    }
 }

+ 297 - 110
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -6,6 +6,7 @@ import com.gyee.runeconomy.dto.response.EconHomePagePointRateDTO;
 import com.gyee.runeconomy.dto.response.ProEconPointCodeDTO;
 import com.gyee.runeconomy.model.auto.*;
 import com.gyee.runeconomy.service.auto.*;
+import jdk.nashorn.internal.runtime.regexp.joni.constants.StackType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,6 +36,8 @@ public class EconomyPointHomePageService {
 
     @Autowired
     private IProEconPowerstationInfoDay6Service proEconPowerstationInfoDay6Service;//测风塔出线功率
+    @Autowired
+    private IProEconPowerstationInfoDay7Service proEconPowerstationInfoDay7Service;//光伏
 
     @Autowired
     private IProBasicCompanyService proBasicCompanyService;
@@ -57,6 +60,7 @@ public class EconomyPointHomePageService {
      * 三率
      */
     private Map<String, ProEconPowerstationInfoDay4> slmap = new HashMap<>();
+    private Map<String, ProEconPowerstationInfoDay7> gfslmap = new HashMap<>();
     /**
      * 电量
      */
@@ -82,7 +86,7 @@ public class EconomyPointHomePageService {
     private List<ProEconPowerstationInfoDay1> dltjfxlist = new ArrayList<>();
 
     private List<ProEconPowerstationInfoDay4> threeRateCurvelist = new ArrayList<>();//三率曲线数据
-
+    private List<ProEconPowerstationInfoDay7> gfthreeRateCurvelist = new ArrayList<>();
     private BigDecimal capacity = null;
 
     private Integer quantity = null;
@@ -126,7 +130,9 @@ public class EconomyPointHomePageService {
         wsmap = proEconPowerstationInfoDay1Service.getEconFiveLoss(foreignKeyId, staType, dateType, date);
 
         /** 三率 */
-        slmap = proEconPowerstationInfoDay4Service.getEconThreeRate(foreignKeyId, staType, dateType, date);
+            gfslmap = proEconPowerstationInfoDay7Service.getEconThreeRate(foreignKeyId, staType, dateType, date);
+            slmap = proEconPowerstationInfoDay4Service.getEconThreeRate(foreignKeyId, staType, dateType, date);
+
 
         /** 综合场用电量 */
         dlmap = proEconPowerstationInfoDay5Service.getEconElectricQuantity(foreignKeyId, staType, dateType, date);
@@ -150,6 +156,7 @@ public class EconomyPointHomePageService {
 
         //三率曲线
         threeRateCurvelist = proEconPowerstationInfoDay4Service.getEconThreeRateCurve(foreignKeyId, staType, dateType, date);
+        gfthreeRateCurvelist = proEconPowerstationInfoDay7Service.getEconThreeRateCurve(foreignKeyId, staType, dateType, date);
 
         powerstationFnlyl(foreignKeyId,staType,date);//地图场站性息
        wsdlfx = new HashMap<>();//五损电量分析
@@ -163,36 +170,36 @@ public class EconomyPointHomePageService {
 
             case "r":
                 currFiveInfo();
-                currThreeRateInfo();
+                currThreeRateInfo(staType);
                 currOtherInfo();
                 currFiveDlFx();
                 currZhcydl();
                 currDltjfx();
-                currThreeRateCurve();
+                currThreeRateCurve(staType);
                 currfdinfo();
 
 
                 break;
             case "y":
                 monthFiveInfo();
-                monthThreeRateInfo();
+                monthThreeRateInfo(staType);
                 monthOtherInfo();
                 monthFiveDlFx();
                 monthZhcydl();
                 monthDltjfx();
-                monthThreeRateCurve();
+                monthThreeRateCurve(staType);
                 monthfdinfo();
 
 
                 break;
             case "n":
                 yearFiveInfo();
-                yearThreeRateInfo();
+                yearThreeRateInfo(staType);
                 yearOtherInfo();
                 yearFiveDlFx();
                 yearZhcydl();
                 yearDltjfx();
-                yearThreeRateCurve();
+                yearThreeRateCurve(staType);
                 yearfdinfo();
                 break;
         }
@@ -311,38 +318,73 @@ public class EconomyPointHomePageService {
     /**
      * 三率曲线
      */
-    private void currThreeRateCurve() {
-        threeRateCurvelist.stream().forEach(i -> {
-            Map<String, Object> m = new HashMap<>();
-            m.put("fwjsl", i.getRfwjsl());
-            m.put("ztzhjsl", i.getRztzhjsl());
-            m.put("gzxqjsl", i.getRgzxqjsl());
-            m.put("date", DateUtils.toDate1(i.getRecordDate()));
-            slqxList.add(m);
-        });
+    private void currThreeRateCurve(String staType) {
+        if (staType.equals("-2")){
+            gfthreeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getRxtxlpr());
+                m.put("ztzhjsl", i.getRlsl());
+                m.put("gzxqjsl", i.getRnbqzhxl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }else {
+            threeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getRfwjsl());
+                m.put("ztzhjsl", i.getRztzhjsl());
+                m.put("gzxqjsl", i.getRgzxqjsl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }
+
 
     }
 
-    private void monthThreeRateCurve() {
-        threeRateCurvelist.stream().forEach(i -> {
-            Map<String, Object> m = new HashMap<>();
-            m.put("fwjsl", i.getYfwjsl());
-            m.put("ztzhjsl", i.getYztzhjsl());
-            m.put("gzxqjsl", i.getYgzxqjsl());
-            m.put("date", DateUtils.toDate1(i.getRecordDate()));
-            slqxList.add(m);
-        });
+    private void monthThreeRateCurve(String staType) {
+        if (staType.equals("-2")){
+            gfthreeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getYxtxlpr());
+                m.put("ztzhjsl", i.getYlsl());
+                m.put("gzxqjsl", i.getYnbqzhxl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }else {
+            threeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getYfwjsl());
+                m.put("ztzhjsl", i.getYztzhjsl());
+                m.put("gzxqjsl", i.getYgzxqjsl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }
     }
 
-    private void yearThreeRateCurve() {
-        threeRateCurvelist.stream().forEach(i -> {
-            Map<String, Object> m = new HashMap<>();
-            m.put("fwjsl", i.getNfwjsl());
-            m.put("ztzhjsl", i.getNztzhjsl());
-            m.put("gzxqjsl", i.getNgzxqjsl());
-            m.put("date", DateUtils.toDate1(i.getRecordDate()));
-            slqxList.add(m);
-        });
+    private void yearThreeRateCurve(String staType) {
+        if (staType.equals("-2")){
+            gfthreeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getNxtxlpr());
+                m.put("ztzhjsl", i.getNlsl());
+                m.put("gzxqjsl", i.getNnbqzhxl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }else {
+            threeRateCurvelist.stream().forEach(i -> {
+                Map<String, Object> m = new HashMap<>();
+                m.put("fwjsl", i.getNfwjsl());
+                m.put("ztzhjsl", i.getNztzhjsl());
+                m.put("gzxqjsl", i.getNgzxqjsl());
+                m.put("date", DateUtils.toDate1(i.getRecordDate()));
+                slqxList.add(m);
+            });
+        }
+
     }
 
 
@@ -825,150 +867,295 @@ public class EconomyPointHomePageService {
     /**
      * 三率经济指标
      */
-    private void currThreeRateInfo() {
-        ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
-        ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
-        ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("withThreeInfo");
+    private void currThreeRateInfo(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay7 currThreeInfo = gfslmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay7 ringThreeInfo = gfslmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay7 withThreeInfo = gfslmap.get("withThreeInfo");
 
-        if (null != currThreeInfo) {
+            if (null != currThreeInfo) {
 
-            dto.setCurrFwjsl(currThreeInfo.getRfwjsl());
-            dto.setCurrZtzhl(currThreeInfo.getRztzhjsl());
-            dto.setCurrXqjsl(currThreeInfo.getRgzxqjsl());
+                dto.setCurrFwjsl(currThreeInfo.getRxtxlpr());
+                dto.setCurrZtzhl(currThreeInfo.getRlsl());
+                dto.setCurrXqjsl(currThreeInfo.getRnbqzhxl());
 
 
-            if (null != ringThreeInfo) {
+                if (null != ringThreeInfo) {
 
-                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.getRxtxlpr())){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getRxtxlpr()) ? compare100((currThreeInfo.getRxtxlpr().subtract(ringThreeInfo.getRxtxlpr())).divide(ringThreeInfo.getRxtxlpr(), 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.getRlsl())){
+                        dto.setRingZtzhzzl(compare0(ringThreeInfo.getRlsl()) ? compare100((currThreeInfo.getRlsl().subtract(ringThreeInfo.getRlsl())).divide(ringThreeInfo.getRlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(ringThreeInfo.getRnbqzhxl())){
+                        dto.setRingXqjszzl(compare0(ringThreeInfo.getRnbqzhxl()) ? compare100((currThreeInfo.getRnbqzhxl().subtract(ringThreeInfo.getRnbqzhxl())).divide(ringThreeInfo.getRnbqzhxl(), 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(compare0(withThreeInfo.getRxtxlpr())){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getRxtxlpr()) ? compare100((currThreeInfo.getRxtxlpr().subtract(withThreeInfo.getRxtxlpr())).divide(withThreeInfo.getRxtxlpr(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getRlsl())){
+                        dto.setWithZtzhzzl(compare0(withThreeInfo.getRlsl()) ? compare100((currThreeInfo.getRlsl().subtract(withThreeInfo.getRlsl())).divide(withThreeInfo.getRlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getRnbqzhxl())){
+                        dto.setWithXqjszzl(compare0(withThreeInfo.getRnbqzhxl()) ? compare100((currThreeInfo.getRnbqzhxl().subtract(withThreeInfo.getRnbqzhxl())).divide(withThreeInfo.getRnbqzhxl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
 
                 }
 
             }
+        }else {
+            ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("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 (null != currThreeInfo) {
 
-                }
-                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.setCurrFwjsl(currThreeInfo.getRfwjsl());
+                dto.setCurrZtzhl(currThreeInfo.getRztzhjsl());
+                dto.setCurrXqjsl(currThreeInfo.getRgzxqjsl());
+
+
+                if (null != ringThreeInfo) {
+
+                    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(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));
+
+                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));
+
+                    }
+                    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));
+
+                    }
 
                 }
 
             }
-
         }
 
 
+
     }
 
-    private void monthThreeRateInfo() {
-        ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
-        ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
-        ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("withThreeInfo");
+    private void monthThreeRateInfo(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay7 currThreeInfo = gfslmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay7 ringThreeInfo = gfslmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay7 withThreeInfo = gfslmap.get("withThreeInfo");
 
-        if (null != currThreeInfo) {
+            if (null != currThreeInfo) {
 
-            dto.setCurrFwjsl(currThreeInfo.getYfwjsl());
-            dto.setCurrZtzhl(currThreeInfo.getYztzhjsl());
-            dto.setCurrXqjsl(currThreeInfo.getYgzxqjsl());
+                dto.setCurrFwjsl(currThreeInfo.getYxtxlpr());
+                dto.setCurrZtzhl(currThreeInfo.getYlsl());
+                dto.setCurrXqjsl(currThreeInfo.getYnbqzhxl());
 
 
-            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 (null != ringThreeInfo) {
+                    if(compare0(ringThreeInfo.getYxtxlpr())){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getYxtxlpr()) ? compare100((currThreeInfo.getYxtxlpr().subtract(ringThreeInfo.getYxtxlpr())).divide(ringThreeInfo.getYxtxlpr(), 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));
+                    }
+                    if(compare0(ringThreeInfo.getYlsl())){
+                        dto.setRingZtzhzzl(compare0(ringThreeInfo.getYlsl()) ? compare100((currThreeInfo.getYlsl().subtract(ringThreeInfo.getYlsl())).divide(ringThreeInfo.getYlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(ringThreeInfo.getYnbqzhxl())){
+                        dto.setRingXqjszzl(compare0(ringThreeInfo.getYnbqzhxl()) ? compare100((currThreeInfo.getYnbqzhxl().subtract(ringThreeInfo.getYnbqzhxl())).divide(ringThreeInfo.getYnbqzhxl(), 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.getYxtxlpr())){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getYxtxlpr()) ? compare100((currThreeInfo.getYxtxlpr().subtract(withThreeInfo.getYxtxlpr())).divide(withThreeInfo.getYxtxlpr(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getYlsl())){
+                        dto.setWithZtzhzzl(compare0(withThreeInfo.getYlsl()) ? compare100((currThreeInfo.getYlsl().subtract(withThreeInfo.getYlsl())).divide(withThreeInfo.getYlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getYnbqzhxl())){
+                        dto.setWithXqjszzl(compare0(withThreeInfo.getYnbqzhxl()) ? compare100((currThreeInfo.getYnbqzhxl().subtract(withThreeInfo.getYnbqzhxl())).divide(withThreeInfo.getYnbqzhxl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));
+
+                    }
 
                 }
 
             }
+        }else {
+            ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("withThreeInfo");
 
-            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 (null != currThreeInfo) {
 
-                }
-                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));
+                dto.setCurrFwjsl(currThreeInfo.getYfwjsl());
+                dto.setCurrZtzhl(currThreeInfo.getYztzhjsl());
+                dto.setCurrXqjsl(currThreeInfo.getYgzxqjsl());
+
+
+                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));
+
+                    }
+                    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(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));
+
+                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));
+
+                    }
 
                 }
 
             }
-
         }
 
+
     }
 
-    private void yearThreeRateInfo() {
-        ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
-        ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
-        ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("withThreeInfo");
+    private void yearThreeRateInfo(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay7 currThreeInfo = gfslmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay7 ringThreeInfo = gfslmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay7 withThreeInfo = gfslmap.get("withThreeInfo");
 
-        if (null != currThreeInfo) {
+            if (null != currThreeInfo) {
 
-            dto.setCurrFwjsl(currThreeInfo.getNfwjsl());
-            dto.setCurrZtzhl(currThreeInfo.getNztzhjsl());
-            dto.setCurrXqjsl(currThreeInfo.getNgzxqjsl());
+                dto.setCurrFwjsl(currThreeInfo.getNxtxlpr());
+                dto.setCurrZtzhl(currThreeInfo.getNlsl());
+                dto.setCurrXqjsl(currThreeInfo.getNnbqzhxl());
 
 
-            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));
+                if (null != ringThreeInfo) {
+                    if(compare0(ringThreeInfo.getNxtxlpr())){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getNxtxlpr()) ? (currThreeInfo.getNxtxlpr().subtract(ringThreeInfo.getNxtxlpr())).divide(ringThreeInfo.getNxtxlpr(), 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.getNlsl())){
+                        dto.setRingZtzhzzl(compare0(ringThreeInfo.getNlsl()) ? (currThreeInfo.getNlsl().subtract(ringThreeInfo.getNlsl())).divide(ringThreeInfo.getNlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0));
+
+                    }
+                    if(compare0(ringThreeInfo.getNnbqzhxl())){
+                        dto.setRingXqjszzl(compare0(ringThreeInfo.getNnbqzhxl()) ? (currThreeInfo.getNnbqzhxl().subtract(ringThreeInfo.getNnbqzhxl())).divide(ringThreeInfo.getNnbqzhxl(), 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.getNxtxlpr())){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getNxtxlpr()) ? (currThreeInfo.getNxtxlpr().subtract(withThreeInfo.getNxtxlpr())).divide(withThreeInfo.getNxtxlpr(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getNlsl())){
+                        dto.setWithZtzhzzl(compare0(withThreeInfo.getNlsl()) ? (currThreeInfo.getNlsl().subtract(withThreeInfo.getNlsl())).divide(withThreeInfo.getNlsl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0));
+
+                    }
+                    if(compare0(withThreeInfo.getNnbqzhxl())){
+                        dto.setWithXqjszzl(compare0(withThreeInfo.getNnbqzhxl()) ? (currThreeInfo.getNnbqzhxl().subtract(withThreeInfo.getNnbqzhxl())).divide(withThreeInfo.getNnbqzhxl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) : new BigDecimal(0));
+
+                    }
 
                 }
 
             }
+        }else {
+            ProEconPowerstationInfoDay4 currThreeInfo = slmap.get("currThreeInfo");
+            ProEconPowerstationInfoDay4 ringThreeInfo = slmap.get("ringThreeInfo");
+            ProEconPowerstationInfoDay4 withThreeInfo = slmap.get("withThreeInfo");
 
-            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 (null != currThreeInfo) {
 
-                }
-                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.setCurrFwjsl(currThreeInfo.getNfwjsl());
+                dto.setCurrZtzhl(currThreeInfo.getNztzhjsl());
+                dto.setCurrXqjsl(currThreeInfo.getNgzxqjsl());
+
+
+                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));
+
+                    }
+                    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(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));
+
+                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));
+
+                    }
+                    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));
+
+                    }
 
                 }
 
             }
-
         }
 
+
     }