Browse Source

经济运行首页代码提交

wangb@gyee-china.com 1 năm trước cách đây
mục cha
commit
614a601162

+ 55 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/controller/Economic/EconomicController.java

@@ -0,0 +1,55 @@
+package com.gyee.runeconomy.controller.Economic;
+
+import com.gyee.runeconomy.dto.R;
+import com.gyee.runeconomy.dto.ResultMsg;
+import com.gyee.runeconomy.service.Economic.EconomicService;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 省公司表 前端控制器
+ * </p>
+ *
+ * @author wang
+ * @since 2022-11-22
+ */
+@Log4j2
+@RestController
+@RequestMapping("//economy")
+public class EconomicController {
+
+    @Autowired
+    private EconomicService economicService;
+
+    /**
+     * @param companyId
+     * @param type
+     * @param statype
+     * @return
+     * @throws Exception
+     */
+    @GetMapping(value = "/home")
+    @ApiOperation(value = "经济运行-首页", notes = "经济运行-首页")
+    public R getEconomyPointHomePageInfo(@RequestParam(value = "companyId", required = false) String companyId,
+                                         @RequestParam(value = "type", required = true) String type,
+                                         @RequestParam(value = "statype", required = true) String statype
+
+
+    ) throws Exception {
+
+        Map<String, Object> map = economicService.getEconomyPointInfo(companyId, type, statype);
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.error(ResultMsg.error());
+        }
+    }
+}

+ 43 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/dto/EconomicVo.java

@@ -0,0 +1,43 @@
+package com.gyee.runeconomy.dto;
+
+import java.math.BigDecimal;
+
+public class EconomicVo {
+
+    private String id;
+    private String name;
+    private BigDecimal yfdl;
+    private BigDecimal llfdl;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public BigDecimal getYfdl() {
+        return yfdl;
+    }
+
+    public void setYfdl(BigDecimal yfdl) {
+        this.yfdl = yfdl;
+    }
+
+    public BigDecimal getLlfdl() {
+        return llfdl;
+    }
+
+    public void setLlfdl(BigDecimal llfdl) {
+        this.llfdl = llfdl;
+    }
+}

+ 17 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/dto/MapComparator.java

@@ -0,0 +1,17 @@
+package com.gyee.runeconomy.dto;
+
+import java.util.Comparator;
+import java.util.Map;
+
+public  class MapComparator implements Comparator<Map<String, Integer>> {
+    private String key;
+
+    MapComparator(String key) {
+        this.key = key;
+    }
+
+    @Override
+    public int compare(Map<String, Integer> o1, Map<String, Integer> o2) {
+        return o1.get(key) - o2.get(key); // 比较两个 map 中 key 对应的值的大小
+    }
+}

+ 88 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/dto/WxssVo.java

@@ -0,0 +1,88 @@
+package com.gyee.runeconomy.dto;
+
+import java.math.BigDecimal;
+
+public class WxssVo {
+
+    private String id;
+    private String name;
+    private BigDecimal fdl;
+    private BigDecimal gzssdl;
+    private BigDecimal whssdl;
+    private BigDecimal xdssdl;
+    private BigDecimal xnssdl;
+    private BigDecimal slssdl;
+    private BigDecimal gnlyl;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public BigDecimal getFdl() {
+        return fdl;
+    }
+
+    public void setFdl(BigDecimal fdl) {
+        this.fdl = fdl;
+    }
+
+    public BigDecimal getGzssdl() {
+        return gzssdl;
+    }
+
+    public void setGzssdl(BigDecimal gzssdl) {
+        this.gzssdl = gzssdl;
+    }
+
+    public BigDecimal getWhssdl() {
+        return whssdl;
+    }
+
+    public void setWhssdl(BigDecimal whssdl) {
+        this.whssdl = whssdl;
+    }
+
+    public BigDecimal getXdssdl() {
+        return xdssdl;
+    }
+
+    public void setXdssdl(BigDecimal xdssdl) {
+        this.xdssdl = xdssdl;
+    }
+
+    public BigDecimal getXnssdl() {
+        return xnssdl;
+    }
+
+    public void setXnssdl(BigDecimal xnssdl) {
+        this.xnssdl = xnssdl;
+    }
+
+    public BigDecimal getSlssdl() {
+        return slssdl;
+    }
+
+    public void setSlssdl(BigDecimal slssdl) {
+        this.slssdl = slssdl;
+    }
+
+    public BigDecimal getGnlyl() {
+        return gnlyl;
+    }
+
+    public void setGnlyl(BigDecimal gnlyl) {
+        this.gnlyl = gnlyl;
+    }
+}

+ 43 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/dto/response/EconHomePagePointRateDTO.java

@@ -92,6 +92,49 @@ public class EconHomePagePointRateDTO {
     private BigDecimal ringSbklyzzl;
     private BigDecimal withSbklyzzl;
 
+    /**
+     * 光能利用率率/综合效率
+     */
+    private BigDecimal currGnlyl;
+    private BigDecimal ringGnlyl;
+    private BigDecimal withGnlyl;
+
+    public BigDecimal getCurrGnlyl() {
+        if(null == currGnlyl){
+            return new BigDecimal(0.00);
+        }
+        currGnlyl = compare100(currGnlyl);
+        return currGnlyl;
+    }
+
+    public void setCurrGnlyl(BigDecimal currGnlyl) {
+        this.currGnlyl = currGnlyl;
+    }
+
+    public BigDecimal getRingGnlyl() {
+        if(null == ringGnlyl){
+            return new BigDecimal(0.00);
+        }
+        ringGnlyl = compare100(ringGnlyl);
+        return ringGnlyl;
+    }
+
+    public void setRingGnlyl(BigDecimal ringGnlyl) {
+        this.ringGnlyl = ringGnlyl;
+    }
+
+    public BigDecimal getWithGnlyl() {
+        if(null == withGnlyl){
+            return new BigDecimal(0.00);
+        }
+        withGnlyl = compare100(withGnlyl);
+        return withGnlyl;
+    }
+
+    public void setWithGnlyl(BigDecimal withGnlyl) {
+        this.withGnlyl = withGnlyl;
+    }
+
     public BigDecimal getCurrGzsll() {
         if(null == currGzsll){
             return new BigDecimal(0.00);

+ 35 - 386
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/init/CacheContext.java

@@ -76,23 +76,18 @@ public class CacheContext implements CommandLineRunner {
     @Resource
     private IProBasicOrganizeTreeService proBasicOrganizeTreeService;
 
+    @Resource
+    private IProEconPowerstationInfoDay7Service proEconPowerstationInfoDay7Service;
+
+    @Resource
+    private IProEconPowerstationInfoDay1Service proEconPowerstationInfoDay1Service;
 
     public static List<ProBasicBranch> bnls = new ArrayList<>();
-//    public static List<ProBasicEquipment> wtls = new ArrayList<>();
-//    public static List<ProBasicProject> pjls = new ArrayList<>();
-//    public static List<ProBasicLine>  lnls = new ArrayList<>();
-//    public static List<ProBasicSubStation>  subwpls = new ArrayList<>();
+
     public static List<ProBasicWeatherStation>  weawpls = new ArrayList<>();
-//    public static List<ProBasicSquare> sqls = new ArrayList<>();
-//    public static List<ProBasicPowerstation>  wpls = new ArrayList<>();
-//    public static List<ProBasicPowerstation>  wplsf = new ArrayList<>();
-//    public static List<ProBasicPowerstation>  wplsG = new ArrayList<>(); //光电集合
-    public static List<ProBasicPowerstation>  zwpls = new ArrayList<>();
-//    public static List<ProBasicCompany>  cpls = new ArrayList<>();
     public static List<ProBasicCompany>  cpls1 = new ArrayList<>();
-//    public static List<ProBasicRegion>  rgls = new ArrayList<>();
-//    public static List<ProBasicEnergyGroup>  gpls = new ArrayList<>();
 
+    public static List<ProBasicOrganizeTree> treels = new ArrayList<>();
     public static List<ProBasicOrganizeTree> sqls = new ArrayList<>(); //阵区
     public static List<ProBasicOrganizeTree> cpls = new ArrayList<>();//公司
     public static List<ProBasicOrganizeTree> rgls = new ArrayList<>();//区域
@@ -104,15 +99,12 @@ public class CacheContext implements CommandLineRunner {
     public static List<ProBasicOrganizeTree>  subwpls = new ArrayList<>(); //变电所
     public static List<ProBasicOrganizeTree>  wplsf = new ArrayList<>();
     public static List<ProBasicOrganizeTree>  wplsG = new ArrayList<>(); //光电集合
-
-
-//    public static Map<String,ProBasicProject> pjmap = new HashMap<>();
-//    public static Map<String,ProBasicLine> lnmap = new HashMap<>();
-//    public static Map<String,ProBasicRegion> rgmap = new HashMap<>();
-//    public static Map<String,ProBasicCompany> cpmap = new HashMap<>();
-//    public static Map<String,ProBasicEnergyGroup> gpmap = new HashMap<>();
+    public static List<ProEconPowerstationInfoDay7>  station7ls = new ArrayList<>();
+    public static List<ProEconPowerstationInfoDay1>  station1ls = new ArrayList<>();
 
     public static Map<String,ProBasicOrganizeTree> sqmap = new HashMap<>();
+    public static Map<String,ProEconPowerstationInfoDay7> station7map = new HashMap<>();
+    public static Map<String,ProEconPowerstationInfoDay1> station1map = new HashMap<>();
     public static Map<String,ProBasicOrganizeTree> cpmap = new HashMap<>();
     public static Map<String,ProBasicOrganizeTree> rgmap = new HashMap<>();
     public static Map<String,ProBasicOrganizeTree> gpmap = new HashMap<>();
@@ -130,32 +122,14 @@ public class CacheContext implements CommandLineRunner {
     public static Map<Object,List<ProBasicOrganizeTree>> rgwtlsmap = new HashMap<>();
     public static Map<Object,List<ProBasicOrganizeTree>> sqwtmap = new HashMap<>();
     public static Map<Object,List<ProBasicOrganizeTree>> prolinemap = new HashMap<>();
-//    public static Map<Object,List<ProBasicOrganizeTree>> cpwpmap = new HashMap<>();
     public static Map<String,List<ProBasicOrganizeTree>> wpmapls = new HashMap<>();
     public static Map<Object,Map<String,ProBasicOrganizeTree>> cmwtmap = new HashMap<>();
     public static Map<Object,List<ProBasicOrganizeTree>> wppromap = new HashMap<>();
     public static Map<String,String> wtstandardmap = new HashMap<>();//标杆
 
-
-//    public static Map<String,List<ProBasicPowerstation>> cpwpmap = new HashMap<>();
-//    public static Map<String,List<ProBasicPowerstation>> wpmapls = new HashMap<>();
-    public static Map<String,List<ProBasicPowerstation>> stationls = new HashMap<>();
     public static Map<String,List<ProBasicBranch>> wtbnmap = new HashMap<>();
-//    public static Map<String,List<ProBasicCompany>> rgcpmap = new HashMap<>();
-//    public static Map<String,ProBasicSquare> sqmap = new HashMap<>();
-//    public static Map<String, ProBasicPowerstation> wpmap = new HashMap<>();
     public static List<ProBasicMeterPoint>  meterpoints = new ArrayList<>();
     public static Map<String,ProBasicMeterPoint>  meterpointMap = new HashMap<>();
-//    public static Map<String,List<ProBasicProject>> wppromap = new HashMap<>();
-    public static Map<String,List<ProBasicProject>> projmap = new HashMap<>();
-//    public static Map<String,List<ProBasicLine>> prolinemap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> wpwtmap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> pjwtmap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> lnwtmap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> cmwtlsmap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> rgwtlsmap = new HashMap<>();
-//    public static Map<String,Map<String,ProBasicEquipment>> cmwtmap = new HashMap<>();
-//    public static Map<String,List<ProBasicEquipment>> sqwtmap = new HashMap<>();
     public static Map<String, Map<String, ProBasicEquipmentPoint>> bnAimap = new HashMap<>();
     public static Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = new HashMap<>();// 风电机测点AI表
     public static Map<String,Map<String, ProBasicPowerstationPoint>> linepointmap =new HashMap<>();
@@ -167,21 +141,15 @@ public class CacheContext implements CommandLineRunner {
     public static Map<String,Map<String, ProBasicPowerstationPoint>> regionpointmap =new HashMap<>();
     public static Map<String,Map<String, ProBasicPowerstationPoint>> grouppointmap =new HashMap<>();
 
-    public static Map<String,Map<Double,Double>> zbzglMap = new HashMap<>();
     public static Map<String,ProEconEquipmentmodel> modelMap = new HashMap<>();
-    public static Map<String,Map<Double,Double>> zzsglMap = new HashMap<>();
     public static Map<String,Double> modelpower = new HashMap<>();
 
-//    public static Map<String,String> wtstandardmap = new HashMap<>();
-//    public static Map<String, ProBasicEquipment> wtmap = new HashMap<>();
-
     public static Map<String,Map<Double,ProBasicModelPower>> modelpowermap = new TreeMap<>();
 
     public static List<ProBasicModelPower> mpls=new ArrayList<>();
 
     public static List<ProEconEquipmentmodel> equipmentmodels=new ArrayList<>();
 
-    public static Map<String,List<ProBasicEquipment>> subWtsMap = new HashMap<>();
     public static List<ProBasicModelPowerRd> theoreticalPowerList=new ArrayList<>();
     public static Map<String, Map<Double,ProBasicModelPowerRd>> theoreticalPowerMap = new HashMap<>(); //理论,保证功率
     public static Map<String, Map<Double,ProEconWtPowerCurveFitting>> curveFittingPowerMap = new HashMap<>(); //自算,最优功率
@@ -232,15 +200,7 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
-
-//        sqls=proBasicSquareService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
-//        if (!sqls.isEmpty())
-//        {
-//            for(ProBasicSquare sq:sqls)
-//            {
-//                sqmap.put(sq.getId(),sq);
-//            }
-//        }
+        treels = proBasicOrganizeTreeService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
 
         //树形方阵
         sqls = proBasicOrganizeTreeService.list().stream().filter(i->i.getOrgType().contains("AG") && i.getIsAble()==1).collect(Collectors.toList());
@@ -252,42 +212,29 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
-//        cpls=proBasicCompanyService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-//
-//        cpls1=proBasicCompanyService.list().stream().filter(i->i.getSpare2().equals("1")).collect(Collectors.toList());
-//        if (!cpls.isEmpty())
-//        {
-//            for(ProBasicCompany sq:cpls)
-//            {
-//                cpmap.put(sq.getId(),sq);
-//
-//                if (redisService.hasKey(sq.getId()+"0")){
-//                    String cp0String = redisService.get(sq.getId()+"0");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp0String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    companypointmap.put(sq.getId()+"0",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(sq.getId()+"-1")){
-//                    String cp1String = redisService.get(sq.getId()+"-1");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp1String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    companypointmap.put(sq.getId()+"-1",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(sq.getId()+"-2")){
-//                    String cp2String = redisService.get(sq.getId()+"-2");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp2String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    companypointmap.put(sq.getId()+"-2",stringWindpowerstationpointnewMap);
-//                }
-//
-//
-//
-//
-//            }
-//
-//        }
-
-        //三级公司树形
+
+
+        station7ls = proEconPowerstationInfoDay7Service.list().stream().filter(i->i.getId()!=null).collect(Collectors.toList());
+        if (!station7ls.isEmpty())
+        {
+            for (ProEconPowerstationInfoDay7 sq : station7ls)
+            {
+                station7map.put(sq.getForeignKeyId(),sq);
+            }
+
+        }
+
+        station1ls = proEconPowerstationInfoDay1Service.list().stream().filter(i->i.getId()!=null).collect(Collectors.toList());
+        if (!station1ls.isEmpty())
+        {
+            for (ProEconPowerstationInfoDay1 sq : station1ls)
+            {
+                station1map.put(sq.getForeignKeyId(),sq);
+            }
+
+        }
+
+        //三级公司
         cpls=proBasicOrganizeTreeService.list().stream().filter(i->i.getIsAble().equals(1) && i.getOrgType().contains("ZGS")).collect(Collectors.toList());
         if (!cpls.isEmpty())
         {
@@ -316,35 +263,6 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
-//        rgls=proBasicRegionService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
-//
-//
-//        if  (!rgls.isEmpty())
-//        {
-//            for(ProBasicRegion sq:rgls)
-//            {
-//                rgmap.put(sq.getId(),sq);
-//
-//                if (redisService.hasKey(sq.getId()+"0")){
-//                    String cp0String = redisService.get(sq.getId()+"0");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp0String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    regionpointmap.put(sq.getId()+"0",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(sq.getId()+"-1")){
-//                    String cp1String = redisService.get(sq.getId()+"-1");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp1String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    regionpointmap.put(sq.getId()+"-1",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(sq.getId()+"-2")){
-//                    String cp2String = redisService.get(sq.getId()+"-2");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp2String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    regionpointmap.put(sq.getId()+"-2",stringWindpowerstationpointnewMap);
-//                }
-//            }
-//        }
 
 
         //区域树形
@@ -375,36 +293,6 @@ public class CacheContext implements CommandLineRunner {
                 }
             }
         }
-//
-//        List<ProBasicEnergyGroup> energyGroups = proBasicEnergyGroupService.list();
-//        gpls = energyGroups.stream().filter(e->e.getIsAble()==1 && e.getId().endsWith("FGS")).collect(Collectors.toList());
-//
-//        if  (!gpls.isEmpty())
-//        {
-//            for(ProBasicEnergyGroup gp:gpls)
-//            {
-//                gpmap.put(gp.getId(),gp);
-//
-//                if (redisService.hasKey(gp.getId()+"0")){
-//                    String cp0String = redisService.get(gp.getId()+"0");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp0String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    grouppointmap.put(gp.getId()+"0",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(gp.getId()+"-1")){
-//                    String cp1String = redisService.get(gp.getId()+"-1");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp1String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    grouppointmap.put(gp.getId()+"-1",stringWindpowerstationpointnewMap);
-//                }
-//                if (redisService.hasKey(gp.getId()+"-2")){
-//                    String cp2String = redisService.get(gp.getId()+"-2");
-//                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp2String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//                    });
-//                    grouppointmap.put(gp.getId()+"-2",stringWindpowerstationpointnewMap);
-//                }
-//            }
-//        }
 
 
 
@@ -440,19 +328,6 @@ public class CacheContext implements CommandLineRunner {
         }
 
 
-
-//        for(ProBasicCompany cp:cpls)
-//        {
-//            if (rgcpmap.containsKey(cp.getRegionId())){
-//                rgcpmap.get(cp.getRegionId()).add(cp);
-//            }else {
-//                List<ProBasicCompany> wps = new ArrayList<>();
-//                wps.add(cp);
-//                rgcpmap.put(cp.getRegionId(),wps);
-//            }
-//        }
-
-
         //区域子公司树形
         for(ProBasicOrganizeTree cp:cpls)
         {
@@ -465,16 +340,6 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
-//        for(ProBasicPowerstation wp:wpls)
-//        {
-//            if (cpwpmap.containsKey(wp.getCompanyId())){
-//                cpwpmap.get(wp.getCompanyId()).add(wp);
-//            }else {
-//                List<ProBasicPowerstation> wps = new ArrayList<>();
-//                wps.add(wp);
-//                cpwpmap.put(wp.getCompanyId(),wps);
-//            }
-//        }
         wpls = proBasicOrganizeTreeService.list().stream().filter(i->i.getIsAble()==1 && i.getOrgType().contains("STA")).collect(Collectors.toList());
         for(ProBasicOrganizeTree wp:wpls)
         {
@@ -488,79 +353,6 @@ public class CacheContext implements CommandLineRunner {
         }
 
 
-//        wtls = proBasicEquipmentService.list().stream().filter(i->i.getIsable()==1).collect(Collectors.toList());
-//        logger.info(wtls.size()+"");
-//        wtls.forEach(wt->{
-//            if(modelMap.containsKey(wt.getModelId()))
-//            {
-//                ProEconEquipmentmodel equipmentmodel = modelMap.get(wt.getModelId());
-//                modelpower.put(wt.getId(),equipmentmodel.getPowerProduction().doubleValue());
-//            }
-//
-//
-//            wtmap.put(wt.getId(),wt);
-//            //标杆风机初始化
-//            wtstandardmap.put(wt.getId(),wt.getId());
-//            String wtString = redisService.get(wt.getId());
-//            Map<String, ProBasicEquipmentPoint> stringWindturbinetestingpointnewMap = JSONObject.parseObject(wtString, new TypeReference<Map<String, ProBasicEquipmentPoint>>() {
-//            });
-//            wtpAimap.put(wt.getId(),stringWindturbinetestingpointnewMap);
-//
-//
-//            if (wpwtmap.containsKey(wt.getWindpowerstationId())){
-//                wpwtmap.get(wt.getWindpowerstationId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> wps = new ArrayList<>();
-//                wps.add(wt);
-//                wpwtmap.put(wt.getWindpowerstationId(),wps);
-//            }
-//
-//            if (pjwtmap.containsKey(wt.getProjectId())){
-//                pjwtmap.get(wt.getProjectId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> pjs = new ArrayList<>();
-//                pjs.add(wt);
-//                pjwtmap.put(wt.getProjectId(),pjs);
-//            }
-//            if (lnwtmap.containsKey(wt.getLineId())){
-//                lnwtmap.get(wt.getLineId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> lnls = new ArrayList<>();
-//                lnls.add(wt);
-//                lnwtmap.put(wt.getLineId(),lnls);
-//            }
-//            if (cmwtlsmap.containsKey(wt.getCompanyId())){
-//                cmwtlsmap.get(wt.getCompanyId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> cmls = new ArrayList<>();
-//                cmls.add(wt);
-//                cmwtlsmap.put(wt.getCompanyId(),cmls);
-//            }
-//            if (rgwtlsmap.containsKey(wt.getRegionId())){
-//                rgwtlsmap.get(wt.getRegionId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> rgls = new ArrayList<>();
-//                rgls.add(wt);
-//                rgwtlsmap.put(wt.getRegionId(),rgls);
-//            }
-//
-//            if (sqwtmap.containsKey(wt.getSquareId())){
-//                sqwtmap.get(wt.getSquareId()).add(wt);
-//            }else {
-//                List<ProBasicEquipment> lnls = new ArrayList<>();
-//                lnls.add(wt);
-//                sqwtmap.put(wt.getSquareId(),lnls);
-//            }
-//
-//            if (cmwtmap.containsKey(wt.getCompanyId())){
-//                cmwtmap.get(wt.getCompanyId()).put(wt.getId(),wt);
-//            }else {
-//                Map<String,ProBasicEquipment> map=new HashMap<>();
-//                map.put(wt.getId(),wt);
-//                cmwtmap.put(wt.getCompanyId(),map);
-//            }
-//        });
-
 
 
         //树形设备
@@ -639,48 +431,6 @@ public class CacheContext implements CommandLineRunner {
         });
 
 
-//
-//        //初始化标杆风机
-//        for(ProBasicEquipment wt:wtls)
-//        {
-//            if(wpwtmap.containsKey(wt.getLineId()))
-//            {
-//                List<ProBasicEquipment> wts=wpwtmap.get(wt.getLineId());
-//                for(ProBasicEquipment w:wts)
-//                {
-//                    if(StringUtils.notEmp(w.getIsStandard()) && w.getIsStandard()!=0)
-//                    {
-//                        wtstandardmap.put(wt.getId(),w.getId());
-//                        break;
-//                    }
-//                }
-//            }
-//            if(pjwtmap.containsKey(wt.getLineId()))
-//            {
-//                List<ProBasicEquipment> wts=pjwtmap.get(wt.getLineId());
-//                for(ProBasicEquipment w:wts)
-//                {
-//                    if(StringUtils.notEmp(w.getIsStandard()) && w.getIsStandard()!=0)
-//                    {
-//                        wtstandardmap.put(wt.getId(),w.getId());
-//                        break;
-//                    }
-//                }
-//            }
-//            if(lnwtmap.containsKey(wt.getLineId()))
-//            {
-//                List<ProBasicEquipment> wts=lnwtmap.get(wt.getLineId());
-//                for(ProBasicEquipment w:wts)
-//                {
-//                    if(StringUtils.notEmp(w.getIsStandard()) && w.getIsStandard()!=0)
-//                    {
-//                        wtstandardmap.put(wt.getId(),w.getId());
-//                        break;
-//                    }
-//                }
-//            }
-//        }
-
 
         //树形初始化标杆风机
         for(ProBasicOrganizeTree wt : wtls)
@@ -725,25 +475,6 @@ public class CacheContext implements CommandLineRunner {
 
 
 
-
-//        pjls = proBasicProjectService.list().stream().filter(i-> i.getIsAble()==1).collect(Collectors.toList());
-//        pjls.stream().forEach(p->{
-//            pjmap.put(p.getId(),p);
-//            if (wppromap.containsKey(p.getWindpowerstationId())){
-//                wppromap.get(p.getWindpowerstationId()).add(p);
-//            }else {
-//                List<ProBasicProject> prolist = new ArrayList<>();
-//                prolist.add(p);
-//                wppromap.put(p.getWindpowerstationId(),prolist);
-//            }
-//            String pjString = redisService.get(p.getId());
-//            Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(pjString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//            });
-//            propointmap.put(p.getId(),stringWindpowerstationpointnewMap);
-//
-//        });
-
-
         //期次场站树形
         pjls = proBasicOrganizeTreeService.list().stream().filter(i-> i.getIsAble()==1 && i.getOrgType().contains("EG")).collect(Collectors.toList());
         pjls.stream().forEach(p->{
@@ -764,20 +495,6 @@ public class CacheContext implements CommandLineRunner {
 
 
 
-//        projmap = pjls.stream().collect(Collectors.groupingBy(ProBasicProject::getWindpowerstationId));
-
-//        subwpls = proBasicSubStationService.list().stream().filter(i-> i.getIsAble()==1).collect(Collectors.toList());
-//        subwpls.stream().forEach(sub->{
-//
-//            String subString = redisService.get(sub.getId());
-//            Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(subString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//            });
-//            subwppointmap.put(sub.getId(),stringWindpowerstationpointnewMap);
-//
-//        });
-
-
-
         subwpls = proBasicOrganizeTreeService.list().stream().filter(i-> i.getIsAble()==1 && i.getOrgType().contains("SBS")).collect(Collectors.toList());
         subwpls.stream().forEach(sub->{
 
@@ -800,23 +517,6 @@ public class CacheContext implements CommandLineRunner {
 
         });
 
-//
-//        //线路
-//        lnls = proBasicLineService.list().stream().filter(i-> StringUtils.isNotNull(pjmap.get(i.getProjectId())) && i.getIsAble()==1).collect(Collectors.toList());
-//        lnls.stream().forEach(l->{
-//            lnmap.put(l.getId(),l);
-//            if (prolinemap.containsKey(l.getProjectId())){
-//                prolinemap.get(l.getProjectId()).add(l);
-//            }else {
-//                List<ProBasicLine> lineList = new ArrayList<>();
-//                lineList.add(l);
-//                prolinemap.put(l.getProjectId(),lineList);
-//            }
-//            String lnString = redisService.get(l.getId());
-//            Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(lnString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//            });
-//            linepointmap.put(l.getId(),stringWindpowerstationpointnewMap);
-//        });
 
 
         //树形线路
@@ -836,24 +536,6 @@ public class CacheContext implements CommandLineRunner {
             linepointmap.put(l.getId(),stringWindpowerstationpointnewMap);
         });
 
-//
-//        zwpls = proBasicWindpowerstationService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
-//        wpls = proBasicWindpowerstationService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
-//        for(ProBasicPowerstation wp:wpls)
-//        {
-//            if (cpwpmap.containsKey(wp.getCompanyId())){
-//                cpwpmap.get(wp.getCompanyId()).add(wp);
-//            }else {
-//                List<ProBasicPowerstation> wps = new ArrayList<>();
-//                wps.add(wp);
-//                cpwpmap.put(wp.getCompanyId(),wps);
-//            }
-//        }
-//        meterpoints = proBasicMeterPointService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());
-//        meterpoints.stream().forEach(meterpoint -> {
-//            meterpointMap.put(meterpoint.getId(),meterpoint);
-//        });
-
 
         for(ProBasicOrganizeTree wp:wpls)
         {
@@ -870,15 +552,6 @@ public class CacheContext implements CommandLineRunner {
             meterpointMap.put(meterpoint.getId(),meterpoint);
         });
 
-//        wpls.stream().forEach(wp->{
-//
-//            wpmap.put(wp.getId(),wp);
-//            String wpString = redisService.get(wp.getId());
-//            Map<String, ProBasicPowerstationPoint> stringMapMap = JSONObject.parseObject(wpString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
-//            });
-//            wppointmap.put(wp.getId(),stringMapMap);
-//        });
-
         wpls.stream().forEach(wp->{
 
             wpmap.put(wp.getId(),wp);
@@ -890,30 +563,6 @@ public class CacheContext implements CommandLineRunner {
 
 
 
-//        if (!wpls.isEmpty()) {
-//            for (ProBasicPowerstation wp : wpls) {
-//                if (wp.getId().endsWith("FDC_STA")) {
-//                    wplsf.add(wp);
-//                }
-//                if (wp.getId().endsWith("GDC_STA")) {
-//                    wplsG.add(wp);
-//                }
-//
-//                if(wpmapls.containsKey(wp.getId()))
-//                {
-//                    List<ProBasicPowerstation> ls=wpmapls.get(wp.getId());
-//                    ls.add(wp);
-//                    wpmapls.put(wp.getId(),ls);
-//                }else {
-//                    List<ProBasicPowerstation> ls=new ArrayList<>();
-//                    ls.add(wp);
-//                    wpmapls.put(wp.getId(),ls);
-//                }
-//
-//                wpmap.put(wp.getId(),wp);
-//            }
-//        }
-
         if (!wpls.isEmpty()) {
             for (ProBasicOrganizeTree wp : wpls) {
                 if (wp.getEleType().contains("F")) {

+ 176 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/Economic/EconomicService.java

@@ -0,0 +1,176 @@
+package com.gyee.runeconomy.service.Economic;
+
+import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
+import com.gyee.runeconomy.dto.EconomicVo;
+import com.gyee.runeconomy.dto.WxssVo;
+import com.gyee.runeconomy.init.CacheContext;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
+import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay1Service;
+import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay4Service;
+import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay7Service;
+import com.gyee.runeconomy.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 经济运行首页服务类
+ */
+@Service
+public class EconomicService {
+
+    @Autowired
+    private IProEconPowerstationInfoDay1Service proEconPowerstationInfoDay1Service;//场站五损电量
+
+    @Autowired
+    private IProEconPowerstationInfoDay7Service proEconPowerstationInfoDay7Service;//光伏
+
+    @Autowired
+    private IProEconPowerstationInfoDay4Service proEconPowerstationInfoDay4Service;//场站三率mtbf
+
+
+    /**
+     * @param companyId
+     * @param type
+     * @param statype
+     * @return
+     * @throws ParseException
+     */
+    public Map<String, Object> getEconomyPointInfo(String companyId, String type, String statype) throws ParseException {
+
+
+        //获取当前时间
+//        String strdate = DateUtils.toDate1(new Date());
+        String strdate = "2023-01-26";
+        Date date = DateUtils.parseDate(strdate);
+
+        Map<String, Object> map = new HashMap<>();
+        Map<String, Object> fdtjmap = new HashMap<>();
+        Map<String, Object> wxssmap = new HashMap<>();
+
+
+        List<WxssVo> lbls = new ArrayList<>();
+        List<EconomicVo> jsls = new ArrayList<>();
+        List<Object> qwls = new ArrayList<>();
+        List<Map> czpx = new ArrayList<>();
+
+        List<ProEconPowerstationInfoDay1> station1ls = CacheContext.station1ls;
+        List<ProBasicOrganizeTree> treels = CacheContext.treels;
+        List<ProEconPowerstationInfoDay1> qyls = null;
+        List<ProEconPowerstationInfoDay1> gsls = null;
+        List<ProBasicOrganizeTree> trls = null;
+
+        BigDecimal num1 = new BigDecimal("100");
+        if (companyId.startsWith("JS_RGN") && type.equals("-1")) {
+            qyls = station1ls.stream().filter(wp -> wp.getForeignKeyId().contains("JS_RGN-1") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+        }else if (companyId.startsWith("JS_RGN") && type.equals("-2")) {
+            qyls = station1ls.stream().filter(wp -> wp.getForeignKeyId().contains("JS_RGN-2") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+        }else {
+            qyls = station1ls.stream().filter(wp -> wp.getForeignKeyId().contains(companyId) && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+        }
+        if (!station1ls.isEmpty()) {
+            for (ProEconPowerstationInfoDay1 st : qyls) {
+                fdtjmap.put("rfdl", st.getRfdl());
+                fdtjmap.put("yfdl", st.getYfdl());
+                fdtjmap.put("nfdl", st.getNfdl());
+                fdtjmap.put("gnlyl", st.getYfdl().divide(st.getYllfdl(), 2, BigDecimal.ROUND_HALF_UP).multiply(num1));
+                wxssmap.put("gzss", st.getYgzssdl());
+                wxssmap.put("whss", st.getYgzssdl());
+                wxssmap.put("xnss", st.getYxnssdl());
+                wxssmap.put("xdss", st.getYxdjclssdl().add(st.getYxdtjssdl()));
+                wxssmap.put("slss", st.getYcwsldwssdl().add(st.getYcwsltqssdl()).add(st.getYcnsljxssdl()).add(st.getYcnslgzssdl()));
+            }
+            map.put("fdtj", fdtjmap);
+            map.put("wxsstb", wxssmap);
+        }
+
+
+        if (companyId.startsWith("JS_RGN") && type.equals("-1")) {
+            gsls = station1ls.stream().filter(wp -> wp.getRegionId().contains("JS_RGN-1") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+            trls = treels.stream().filter(wp -> wp.getId().endsWith("ZGS")).collect(Collectors.toList());
+        } else if (companyId.startsWith("JS_RGN") && type.equals("-2")) {
+            gsls = station1ls.stream().filter(wp -> wp.getRegionId().contains("JS_RGN-2") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+            trls = treels.stream().filter(wp -> wp.getId().endsWith("ZGS")).collect(Collectors.toList());
+
+
+        }else if (companyId.startsWith("JS_RGN") && statype.equals("-1")){
+            gsls = station1ls.stream().filter(wp -> wp.getRegionId().contains("JS_RGN-1") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+            trls = treels.stream().filter(wp -> wp.getId().endsWith("STA")).collect(Collectors.toList());
+        }else if (companyId.startsWith("JS_RGN") && statype.equals("-2")){
+            gsls = station1ls.stream().filter(wp -> wp.getRegionId().contains("JS_RGN-2") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+            trls = treels.stream().filter(wp -> wp.getId().endsWith("STA")).collect(Collectors.toList());
+        }else {
+            gsls = station1ls.stream().filter(wp -> wp.getForeignKeyId().contains("STA") && wp.getRecordDate().equals(date)).collect(Collectors.toList());
+            trls = treels.stream().filter(wp -> wp.getParentCode().endsWith(companyId)).collect(Collectors.toList());
+        }
+
+            for (ProBasicOrganizeTree cp : trls) {
+
+                for (ProEconPowerstationInfoDay1 ss : gsls) {
+                    if (!cp.getId().contains(ss.getForeignKeyId())) {
+                        continue;
+                    }
+                    EconomicVo vo = new EconomicVo();
+                    WxssVo wxssVo = new WxssVo();
+
+                    wxssVo.setId(ss.getForeignKeyId());
+                    if (cp.getId().contains(ss.getForeignKeyId())) {
+                        wxssVo.setName(cp.getNemName());
+                        vo.setName(cp.getAname());
+                    } else {
+                        continue;
+                    }
+                    wxssVo.setFdl(ss.getYfdl());
+                    wxssVo.setGzssdl(ss.getYfdl());
+                    wxssVo.setSlssdl(ss.getYfdl());
+                    wxssVo.setWhssdl(ss.getYfdl());
+                    wxssVo.setXdssdl(ss.getYfdl());
+                    wxssVo.setXnssdl(ss.getYfdl());
+                    wxssVo.setGnlyl(ss.getYfdl().divide(ss.getYllfdl(), 2, BigDecimal.ROUND_HALF_UP).multiply(num1));
+                    lbls.add(wxssVo);
+
+                    //五损前五
+                    vo.setId(ss.getForeignKeyId());
+                    vo.setYfdl(ss.getYfdl());
+                    vo.setLlfdl(ss.getYllfdl());
+                    jsls.add(vo);
+                }
+            }
+
+        map.put("wxsslb", lbls);
+
+//        for (EconomicVo ll : jsls) {
+//            qwls.add(ll.getId());
+//            qwls.add(ll.getName());
+//            qwls.add(ll.getYfdl().divide(ll.getLlfdl(), 2, BigDecimal.ROUND_HALF_UP).multiply(num1));
+//        }
+
+        // 从 list 集合中筛选出指定字段值从小到大的前五个数据
+//        qwls.stream().sorted().limit(5).collect(Collectors.toList());
+
+
+        int i = 0;
+        for (EconomicVo ll : jsls) {
+
+            Map czpxmap = new LinkedHashMap();
+            i++;
+            czpxmap.put("ordernum", i);
+            czpxmap.put("id", ll.getId());
+            czpxmap.put("name", ll.getName());
+            czpxmap.put("wxss", ll.getYfdl().divide(ll.getLlfdl(), 2, BigDecimal.ROUND_HALF_UP).multiply(num1));
+            czpx.add(czpxmap);
+
+        }
+
+        // 获取 list 集合中的前五个元素,即最小的五条数据
+        List<Map> subList = czpx.subList(0, Math.min(5, czpx.size()));
+        map.put("czwxss", subList);
+
+
+        return map;
+    }
+}

+ 3 - 1
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/auto/IProEconPowerstationInfoDay1Service.java

@@ -1,8 +1,8 @@
 package com.gyee.runeconomy.service.auto;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
 
 import java.util.Date;
 import java.util.List;
@@ -35,4 +35,6 @@ public interface IProEconPowerstationInfoDay1Service extends IService<ProEconPow
 
     List<ProEconPowerstationInfoDay1> getEconFiveLosslist(List<String> foreignKeyIds, Date date);
 
+    Map<String, ProEconPowerstationInfoDay1> getEconenergy(String foreignKeyId, String staType, String dateType, Date date);
+
 }

+ 48 - 3
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPowerstationInfoDay1ServiceImpl.java

@@ -4,13 +4,12 @@ package com.gyee.runeconomy.service.auto.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.common.model.StringUtils;
 import com.gyee.common.util.DateUtils;
-import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
 import com.gyee.runeconomy.mapper.auto.ProEconPowerstationInfoDay1Mapper;
-import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay5;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
 import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay1Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -127,6 +126,52 @@ public class ProEconPowerstationInfoDay1ServiceImpl extends ServiceImpl<ProEconP
 
         return list;
     }
+    @Override
+    public Map<String, ProEconPowerstationInfoDay1> getEconenergy(String foreignKeyId, String staType, String dateType, Date date) {
+        Map<String, ProEconPowerstationInfoDay1> resultmap = new HashMap<>();
+
+        QueryWrapper<ProEconPowerstationInfoDay1> qw = null;
+
+        //当前数据
+        List<ProEconPowerstationInfoDay1> currlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
+            qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, date);
+            currlist = getBaseMapper().selectList(qw);
+            resultmap.put("currThreeInfo",currlist.size()>0?currlist.get(0):null);
+        }
+
+
+        //环比数据
+        List<ProEconPowerstationInfoDay1> ringlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
+            Date ring = DateUtils.addMonths(date, -1);
+            qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, ring);
+            ringlist = getBaseMapper().selectList(qw);
+            resultmap.put("ringThreeInfo",ringlist.size()>0?ringlist.get(0):null);
+        }
 
+        //同比
+        List<ProEconPowerstationInfoDay1> withlist = new ArrayList<>();
+        if (null !=date) {
+            qw = new QueryWrapper<>();
+            if (StringUtils.isNotEmpty(staType)) {
+                qw.lambda().eq(ProEconPowerstationInfoDay1::getForeignKeyId, foreignKeyId+staType);
+            }
+            Date with =DateUtils.addYears(date, -1);
+            qw.lambda().eq(ProEconPowerstationInfoDay1::getRecordDate, with);
+            withlist = getBaseMapper().selectList(qw);
+            resultmap.put("withThreeInfo",withlist.size()>0?withlist.get(0):null);
+        }
+
+        return resultmap;
+    }
 
 }

+ 308 - 2
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -65,6 +65,10 @@ public class EconomyPointHomePageService {
     private Map<String, ProEconPowerstationInfoDay4> slmap = new HashMap<>();
     private Map<String, ProEconPowerstationInfoDay7> gfslmap = new HashMap<>();
     /**
+     * 光能利用率
+     */
+    private Map<String, ProEconPowerstationInfoDay1> gnlymap = new HashMap<>();
+    /**
      * 电量
      */
     private Map<String, ProEconPowerstationInfoDay5> dlmap = new HashMap<>();
@@ -136,6 +140,8 @@ public class EconomyPointHomePageService {
             gfslmap = proEconPowerstationInfoDay7Service.getEconThreeRate(foreignKeyId, staType, dateType, date);
             slmap = proEconPowerstationInfoDay4Service.getEconThreeRate(foreignKeyId, staType, dateType, date);
 
+        /** 光能利用率 */
+        gnlymap = proEconPowerstationInfoDay1Service.getEconenergy(foreignKeyId, staType, dateType, date);
 
         /** 综合场用电量 */
         dlmap = proEconPowerstationInfoDay5Service.getEconElectricQuantity(foreignKeyId, staType, dateType, date);
@@ -180,7 +186,7 @@ public class EconomyPointHomePageService {
                 currDltjfx();
                 currThreeRateCurve(staType);
                 currfdinfo();
-
+                currenergy(staType);
 
                 break;
             case "y":
@@ -192,7 +198,7 @@ public class EconomyPointHomePageService {
                 monthDltjfx();
                 monthThreeRateCurve(staType);
                 monthfdinfo();
-
+                monthenergyInfo(staType);
 
                 break;
             case "n":
@@ -204,6 +210,7 @@ public class EconomyPointHomePageService {
                 yearDltjfx();
                 yearThreeRateCurve(staType);
                 yearfdinfo();
+                yearenergyInfo(staType);
                 break;
         }
         allmap.put("zbl", dto);//页面第一行的
@@ -1165,6 +1172,305 @@ public class EconomyPointHomePageService {
 
     }
 
+    /**
+     * 光能利用率
+     */
+    private void currenergy(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+
+            BigDecimal num1 = new BigDecimal("100");
+
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1));
+//                dto.setCurrZtzhl(currThreeInfo.getRlsl());
+//                dto.setCurrXqjsl(currThreeInfo.getRnbqzhxl());
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getRfdl().divide(ringThreeInfo.getRllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getRfdl().divide(ringThreeInfo.getRllfdl()).multiply(num1)) ? compare100((ringThreeInfo.getRfdl().divide(ringThreeInfo.getRllfdl()).multiply(num1).subtract(ringThreeInfo.getRfdl().divide(ringThreeInfo.getRllfdl()).multiply(num1))).divide(ringThreeInfo.getRfdl().divide(ringThreeInfo.getRllfdl()).multiply(num1), 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 (null != withThreeInfo ) {
+                    if(compare0(withThreeInfo.getRfdl().divide(withThreeInfo.getRllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getRfdl().divide(withThreeInfo.getRllfdl()).multiply(num1)) ? compare100((withThreeInfo.getRfdl().divide(withThreeInfo.getRllfdl()).multiply(num1).subtract(withThreeInfo.getRfdl().divide(withThreeInfo.getRllfdl()).multiply(num1))).divide(withThreeInfo.getRfdl().divide(withThreeInfo.getRllfdl()).multiply(num1), 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 {
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+            BigDecimal num1 = new BigDecimal("100");
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1));
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1)) ? compare100((currThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1).subtract(ringThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1))).divide(ringThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1), 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(compare0(withThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1)) ? compare100((currThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1).subtract(withThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1))).divide(withThreeInfo.getRfdl().divide(currThreeInfo.getRllfdl()).multiply(num1), 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 monthenergyInfo(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+
+            BigDecimal num1 = new BigDecimal("100");
+
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1));
+//                dto.setCurrZtzhl(currThreeInfo.getRlsl());
+//                dto.setCurrXqjsl(currThreeInfo.getRnbqzhxl());
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getYfdl().divide(ringThreeInfo.getYllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getYfdl().divide(ringThreeInfo.getYllfdl()).multiply(num1)) ? compare100((ringThreeInfo.getYfdl().divide(ringThreeInfo.getYllfdl()).multiply(num1).subtract(ringThreeInfo.getYfdl().divide(ringThreeInfo.getYllfdl()).multiply(num1))).divide(ringThreeInfo.getYfdl().divide(ringThreeInfo.getYllfdl()).multiply(num1), 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 (null != withThreeInfo ) {
+                    if(compare0(withThreeInfo.getYfdl().divide(withThreeInfo.getYllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getYfdl().divide(withThreeInfo.getYllfdl()).multiply(num1)) ? compare100((withThreeInfo.getYfdl().divide(withThreeInfo.getYllfdl()).multiply(num1).subtract(withThreeInfo.getYfdl().divide(withThreeInfo.getYllfdl()).multiply(num1))).divide(withThreeInfo.getYfdl().divide(withThreeInfo.getYllfdl()).multiply(num1), 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 {
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+            BigDecimal num1 = new BigDecimal("100");
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1));
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1)) ? compare100((currThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1).subtract(ringThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1))).divide(ringThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1), 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(compare0(withThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1)) ? compare100((currThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1).subtract(withThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1))).divide(withThreeInfo.getYfdl().divide(currThreeInfo.getYllfdl()).multiply(num1), 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 yearenergyInfo(String staType) {
+        if (staType.equals("-2")){
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+
+            BigDecimal num1 = new BigDecimal("100");
+
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1));
+//                dto.setCurrZtzhl(currThreeInfo.getRlsl());
+//                dto.setCurrXqjsl(currThreeInfo.getRnbqzhxl());
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getNfdl().divide(ringThreeInfo.getNllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getNfdl().divide(ringThreeInfo.getNllfdl()).multiply(num1)) ? compare100((ringThreeInfo.getNfdl().divide(ringThreeInfo.getNllfdl()).multiply(num1).subtract(ringThreeInfo.getNfdl().divide(ringThreeInfo.getNllfdl()).multiply(num1))).divide(ringThreeInfo.getNfdl().divide(ringThreeInfo.getNllfdl()).multiply(num1), 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 (null != withThreeInfo ) {
+                    if(compare0(withThreeInfo.getNfdl().divide(withThreeInfo.getNllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getNfdl().divide(withThreeInfo.getNllfdl()).multiply(num1)) ? compare100((withThreeInfo.getNfdl().divide(withThreeInfo.getNllfdl()).multiply(num1).subtract(withThreeInfo.getNfdl().divide(withThreeInfo.getNllfdl()).multiply(num1))).divide(withThreeInfo.getNfdl().divide(withThreeInfo.getNllfdl()).multiply(num1), 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 {
+            ProEconPowerstationInfoDay1 currThreeInfo = gnlymap.get("currenergyInfo");
+            ProEconPowerstationInfoDay1 ringThreeInfo = gnlymap.get("ringenergyInfo");
+            ProEconPowerstationInfoDay1 withThreeInfo = gnlymap.get("withenergyInfo");
+            BigDecimal num1 = new BigDecimal("100");
+            if (null != currThreeInfo) {
+
+                dto.setCurrGnlyl(currThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1));
+
+
+                if (null != ringThreeInfo) {
+
+                    if(compare0(ringThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1))){
+                        dto.setRingFwjszzl(compare0(ringThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1)) ? compare100((currThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1).subtract(ringThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1))).divide(ringThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1), 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(compare0(withThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1))){
+                        dto.setWithFwjszzl(compare0(withThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1)) ? compare100((currThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1).subtract(withThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1))).divide(withThreeInfo.getNfdl().divide(currThreeInfo.getNllfdl()).multiply(num1), 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));
+//
+//                
+
+                }
+
+            }
+        }
+
+
+
+    }
+
 
     /**
      * 其它经济指标

+ 6 - 2
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/threerate/ThreeRateService.java

@@ -12,6 +12,7 @@ import com.gyee.runeconomy.init.CacheContext;
 import com.gyee.runeconomy.model.auto.ProBasicPowerstation;
 import com.gyee.runeconomy.model.auto.ProEconEquipmentInfoDay5;
 import com.gyee.runeconomy.model.auto.ProEconFaultLiminatedefects;
+import com.gyee.runeconomy.service.auto.IProBasicOrganizeTreeService;
 import com.gyee.runeconomy.service.auto.IProBasicPowerstationService;
 import com.gyee.runeconomy.service.auto.IProEconEquipmentInfoDay5Service;
 import com.gyee.runeconomy.service.auto.IProEconFaultLiminatedefectsService;
@@ -37,6 +38,9 @@ public class ThreeRateService {
     @Autowired
     private IProEconFaultLiminatedefectsService proEconFaultLiminatedefectsService;
 
+    @Autowired
+    private IProBasicOrganizeTreeService proBasicOrganizeTreeService;
+
 
     /**
      * 复位及时率
@@ -160,8 +164,8 @@ public class ThreeRateService {
 
     private void getData(List<FwjslDTO> resultList, List<ProEconEquipmentInfoDay5> list) {
 
-        Map<String, Integer> station =  proBasicPowerstationService.list()
-                .stream().collect(Collectors.toMap(ProBasicPowerstation::getId,ProBasicPowerstation::getOrderNum));
+        Map<String, Integer> station =  proBasicOrganizeTreeService.list()
+                .stream().collect(Collectors.toMap(ProBasicOrganizeTree::getId,ProBasicOrganizeTree::getOrderNum));
 
         AtomicReference<Double> wfz = new AtomicReference<>((double) 0);
         AtomicReference<Double> sfz = new AtomicReference<>((double) 0);