Explorar o código

Merge branch 'master' of http://124.70.43.205:3000/xieshengjie/sis

xushili hai 1 ano
pai
achega
f5ca063a19

+ 12 - 1
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/controller/bmk/BenchmarkingController.java

@@ -34,7 +34,7 @@ public class BenchmarkingController {
 
     @GetMapping(value = "/companys")
     @ApiOperation(value = "公司列表", notes = "公司列表")
-    public R companys()  {
+    public R companys ()  {
         List<ProBasicOrganizeTree> resultList = benchmarkingService.companys();
         if (StringUtils.isNotNull(resultList)) {
             return R.data(ResultMsg.ok(resultList));
@@ -361,5 +361,16 @@ public class BenchmarkingController {
         }
     }
 
+    @GetMapping(value = "/companyslist")
+    @ApiOperation(value = "公司列表", notes = "公司列表")
+    public R companyslist (@RequestParam(value = "type", required = true) String type)  {
+        List<ProBasicOrganizeTree> resultList = benchmarkingService.companyslist(type);
+        if (StringUtils.isNotNull(resultList)) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.error(ResultMsg.error());
+        }
+    }
+
 
 }

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

@@ -293,7 +293,7 @@ public class CacheContext implements CommandLineRunner {
         {
             for(ProBasicOrganizeTree sq:cpls)
             {
-                cpmap.put(sq.getParentCode(),sq);
+                cpmap.put(sq.getId(),sq);
 
                 if (redisService.hasKey(sq.getParentCode()+"0")){
                     String cp0String = redisService.get(sq.getParentCode()+"0");
@@ -353,25 +353,25 @@ public class CacheContext implements CommandLineRunner {
         {
             for(ProBasicOrganizeTree sq:rgls)
             {
-                rgmap.put(sq.getParentCode(),sq);
+                rgmap.put(sq.getId(),sq);
 
-                if (redisService.hasKey(sq.getParentCode()+"0")){
-                    String cp0String = redisService.get(sq.getParentCode()+"0");
+                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.getParentCode()+"0",stringWindpowerstationpointnewMap);
+                    regionpointmap.put(sq.getId()+"0",stringWindpowerstationpointnewMap);
                 }
-                if (redisService.hasKey(sq.getParentCode()+"-1")){
-                    String cp1String = redisService.get(sq.getParentCode()+"-1");
+                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.getParentCode()+"-1",stringWindpowerstationpointnewMap);
+                    regionpointmap.put(sq.getId()+"-1",stringWindpowerstationpointnewMap);
                 }
-                if (redisService.hasKey(sq.getParentCode()+"-2")){
-                    String cp2String = redisService.get(sq.getParentCode()+"-2");
+                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.getParentCode()+"-2",stringWindpowerstationpointnewMap);
+                    regionpointmap.put(sq.getId()+"-2",stringWindpowerstationpointnewMap);
                 }
             }
         }
@@ -416,7 +416,7 @@ public class CacheContext implements CommandLineRunner {
         {
             for(ProBasicOrganizeTree gp:gpls)
             {
-                gpmap.put(gp.getParentCode(),gp);
+                gpmap.put(gp.getId(),gp);
 
                 if (redisService.hasKey(gp.getParentCode()+"0")){
                     String cp0String = redisService.get(gp.getParentCode()+"0");
@@ -475,7 +475,7 @@ public class CacheContext implements CommandLineRunner {
 //                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)
         {
             if (cpwpmap.containsKey(wp.getOrgType().contains("STA"))){
@@ -820,7 +820,7 @@ public class CacheContext implements CommandLineRunner {
 
 
         //树形线路
-        lnls = proBasicOrganizeTreeService.list().stream().filter(i-> StringUtils.isNotNull(pjmap.get(i.getOrgType().contains("EG"))) && i.getIsAble()==1).collect(Collectors.toList());
+        lnls = proBasicOrganizeTreeService.list().stream().filter(i-> StringUtils.isNotNull(pjmap.get(i.getParentCode())) && i.getIsAble()==1).collect(Collectors.toList());
         lnls.stream().forEach(l->{
             lnmap.put(l.getId(),l);
             if (prolinemap.containsKey(l.getOrgType().contains("EG"))){

+ 13 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/auto/IProBasicOrganizeTreeService.java

@@ -3,6 +3,8 @@ package com.gyee.runeconomy.service.auto;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +14,16 @@ import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
  * @since 2023-06-08
  */
 public interface IProBasicOrganizeTreeService extends IService<ProBasicOrganizeTree> {
+    /**
+     * 获取场站信息列表
+     * @param regionId
+     * @param companyId
+     * @return
+     */
+    List<ProBasicOrganizeTree> getProBasicPowerstationlist (String regionId, String  companyId, String staType);
+
+    Double getProBasicCompanyCapacity(String regionId, String  companyId);
+
+    Integer getProBasicCompanyQuantity(String regionId, String  companyId);
 
 }

+ 89 - 0
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/auto/impl/ProBasicOrganizeTreeServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.runeconomy.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
+import com.gyee.common.model.StringUtils;
 import com.gyee.runeconomy.mapper.auto.ProBasicOrganizeTreeMapper;
 import com.gyee.runeconomy.service.auto.IProBasicOrganizeTreeService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +22,88 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProBasicOrganizeTreeServiceImpl extends ServiceImpl<ProBasicOrganizeTreeMapper, ProBasicOrganizeTree> implements IProBasicOrganizeTreeService {
 
+
+    @Override
+    public List<ProBasicOrganizeTree> getProBasicPowerstationlist(String regionId, String companyId, String staType) {
+        QueryWrapper<ProBasicOrganizeTree> qw = new QueryWrapper<>();
+
+        //判断后缀是区域还是公司
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_ZGS")) {
+//            qw.lambda().eq(ProBasicOrganizeTree::getCompanyId, companyId);
+            qw.lambda().eq(ProBasicOrganizeTree::getParentCode, companyId);
+        }
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_RGN")) {
+            qw.lambda().eq(ProBasicOrganizeTree::getParentCode, companyId);
+        }
+
+        List<ProBasicOrganizeTree> list = baseMapper.selectList(qw);
+
+        if (StringUtils.isNotEmpty(staType) && staType.equals("-1")) {
+
+            list = list.stream().filter(i -> i.getId().indexOf("FDC") >= 0).collect(Collectors.toList());
+        }
+        if (StringUtils.isNotEmpty(staType) && staType.equals("-2")) {
+
+            list = list.stream().filter(i -> i.getId().indexOf("GDC") >= 0).collect(Collectors.toList());
+        }
+        return list;
+
+    }
+
+    @Override
+    public Double getProBasicCompanyCapacity(String regionId, String companyId) {
+        QueryWrapper<ProBasicOrganizeTree> qw = new QueryWrapper<>();
+
+        //判断后缀是区域还是公司
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_ZGS")) {
+            qw.lambda().eq(ProBasicOrganizeTree::getId, companyId);
+        }
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_RGN")) {
+//            qw.lambda().eq(ProBasicOrganizeTree::getRegionId, companyId);
+            qw.lambda().eq(ProBasicOrganizeTree::getId, companyId);
+        }
+
+
+
+//        BigDecimal sumall = new BigDecimal("0.0000");
+
+        Double sumall = new Double(0.00);
+        List<ProBasicOrganizeTree>  list = getBaseMapper().selectList(qw);
+        for (ProBasicOrganizeTree i : list){
+            if (i.getJrWindCapacity() != null && i.getJrCapacity() != null) {
+                sumall = sumall + i.getJrWindCapacity() + i.getJrCapacity();
+            }else {
+                sumall = sumall;
+            }
+        }
+
+        return sumall;
+    }
+
+    @Override
+    public Integer getProBasicCompanyQuantity(String regionId, String companyId) {
+        QueryWrapper<ProBasicOrganizeTree> qw = new QueryWrapper<>();
+
+        //判断后缀是区域还是公司
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_ZGS")) {
+            qw.lambda().eq(ProBasicOrganizeTree::getId, companyId);
+        }
+        if (StringUtils.isNotEmpty(companyId) && companyId.endsWith("_RGN")) {
+//            qw.lambda().eq(ProBasicOrganizeTree::getRegionId, companyId);
+            qw.lambda().eq(ProBasicOrganizeTree::getId, companyId);
+        }
+
+
+        Integer quantity = new Integer(0);
+        List<ProBasicOrganizeTree>  list = getBaseMapper().selectList(qw);
+        for (ProBasicOrganizeTree i : list){
+            if (i.getJrQuantityJz() != null && i.getJrQuantityZc() != null && i.getJrWindQuantityHs() != null && i.getJrWindQuantityLd() != null) {
+                quantity = quantity + i.getJrQuantityJz()+i.getJrQuantityZc()+i.getJrWindQuantityHs()+i.getJrWindQuantityLd();
+            }else {
+                quantity = quantity;
+            }
+        }
+
+        return quantity;
+    }
 }

+ 47 - 38
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconPointCodeServiceImpl.java

@@ -1,20 +1,27 @@
 package com.gyee.runeconomy.service.auto.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
 import com.gyee.common.model.StringUtils;
 import com.gyee.runeconomy.dto.response.ProEconPointCodeDTO;
 import com.gyee.runeconomy.init.CacheContext;
-import com.gyee.runeconomy.model.auto.*;
 import com.gyee.runeconomy.mapper.auto.ProEconPointCodeMapper;
+import com.gyee.runeconomy.model.auto.ProEconPointCode;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay1;
+import com.gyee.runeconomy.model.auto.ProEconPowerstationInfoDay4;
+import com.gyee.runeconomy.service.auto.IProBasicOrganizeTreeService;
 import com.gyee.runeconomy.service.auto.IProEconPointCodeService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay1Service;
 import com.gyee.runeconomy.service.auto.IProEconPowerstationInfoDay4Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
 import java.util.stream.Collectors;
 
 /**
@@ -38,7 +45,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     @Autowired
     private IProEconPowerstationInfoDay4Service proEconPowerstationInfoDay4Service;
 
-
+    @Autowired
+    private IProBasicOrganizeTreeService proBasicOrganizeTreeService;
 
     @Override
     public List<ProEconPointCode> getEconPointCodeList() {
@@ -60,7 +68,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
 
     @Override
     public List<ProEconPointCodeDTO> getEconPointRanking(String regionId, String companyId, String pointCode, Date date, String dateType, boolean popup,String statype) {
-        List<ProBasicPowerstation> powerstationList = proBasicPowerstationService.getProBasicPowerstationlist(regionId, companyId, statype);
+
+        List<ProBasicOrganizeTree> powerstationList = proBasicOrganizeTreeService.getProBasicPowerstationlist(regionId, companyId, statype);
 
         ProEconPointCode proEconPointCode = getProEconPointCode(pointCode);
         if (null == proEconPointCode){
@@ -122,7 +131,7 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
 
 
         List<String> newsto = dtos.stream().map(ProEconPointCodeDTO::getStationcode).collect(Collectors.toList());
-        List<String> newsta = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+        List<String> newsta = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
         List<String> reduce1 = newsta.stream().filter(item -> !newsto.contains(item)).collect(Collectors.toList());
         for (String i : reduce1) {
             ProEconPointCodeDTO dto = new ProEconPointCodeDTO();
@@ -142,8 +151,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     /**
      * 发电量
      */
-    private List<ProEconPointCodeDTO> fdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> fdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -175,8 +184,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     /**
      * 欠发电量
      */
-    private List<ProEconPointCodeDTO> qfdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> qfdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -205,8 +214,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
 
 
     // 风能利用率
-    private List<ProEconPointCodeDTO> fnlyl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> fnlyl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -243,8 +252,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     /**
      * 受累损失电量
      */
-    private List<ProEconPointCodeDTO> slssdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> slssdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -273,8 +282,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
 
 
     /** 检修损失电量 */
-    private List<ProEconPointCodeDTO> jxssdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> jxssdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -302,8 +311,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 限电损失电量*/
-    private List<ProEconPointCodeDTO> xdjclssdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> xdjclssdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -331,8 +340,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
    /** 故障损失电量*/
-    private List<ProEconPointCodeDTO> gzssdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> gzssdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -360,8 +369,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 性能损失电量*/
-    private List<ProEconPointCodeDTO> xnssdl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> xnssdl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -389,8 +398,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
    /** 复位及时率 */
-    private List<ProEconPointCodeDTO> fwjsl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> fwjsl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay4> list = proEconPowerstationInfoDay4Service.getEconThreeRateCurvelist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -418,8 +427,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 状态转换及时率 */
-    private List<ProEconPointCodeDTO> ztzhjsl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> ztzhjsl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay4> list = proEconPowerstationInfoDay4Service.getEconThreeRateCurvelist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -447,8 +456,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 故障消缺及时率 */
-    private List<ProEconPointCodeDTO> gzxqjsl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> gzxqjsl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay4> list = proEconPowerstationInfoDay4Service.getEconThreeRateCurvelist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -476,8 +485,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 受累损失率 */
-    private List<ProEconPointCodeDTO> slssl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> slssl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -508,8 +517,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 检修损失率 */
-    private List<ProEconPointCodeDTO> jxssl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> jxssl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -540,8 +549,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 限电损失率 */
-    private List<ProEconPointCodeDTO> xdjclssl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> xdjclssl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -570,8 +579,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
    /** 故障损失率*/
-    private List<ProEconPointCodeDTO> gzssl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> gzssl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();
@@ -600,8 +609,8 @@ public class ProEconPointCodeServiceImpl extends ServiceImpl<ProEconPointCodeMap
     }
 
     /** 性能损失率 */
-    private List<ProEconPointCodeDTO> xnssl(List<ProBasicPowerstation> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
-        List<String> stationlist = powerstationList.stream().map(ProBasicPowerstation::getNemCode).collect(Collectors.toList());
+    private List<ProEconPointCodeDTO> xnssl(List<ProBasicOrganizeTree> powerstationList, Date date, String dateType, ProEconPointCode pointCode) {
+        List<String> stationlist = powerstationList.stream().map(ProBasicOrganizeTree::getNemCode).collect(Collectors.toList());
 
         List<ProEconPowerstationInfoDay1> list = proEconPowerstationInfoDay1Service.getEconFiveLosslist(stationlist, date);
         List<ProEconPointCodeDTO> dtos = new ArrayList<>();

+ 57 - 13
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/bmk/BenchmarkingService.java

@@ -21,10 +21,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
@@ -50,15 +47,15 @@ public class BenchmarkingService {
             result.add(cp);
         });
         //单区域部署打开
-//        ProBasicCompany company = new ProBasicCompany();
-//        Optional<ProBasicCompany> first = result.stream().findFirst();
-//        if (first.isPresent()){
-//            String regionId = first.get().getRegionId();
-//            company.setId(regionId);
-//            company.setAname(rgmap.get(regionId).getAname());
-//            company.setOrderNum(0);
-//        }
-//        result.add(company);
+        ProBasicOrganizeTree company = new ProBasicOrganizeTree();
+        Optional<ProBasicOrganizeTree> first = result.stream().findFirst();
+        if (first.isPresent()){
+            String regionId = first.get().getParentCode();
+            company.setId(regionId);
+            company.setAname(rgmap.get(regionId).getAname());
+            company.setOrderNum(0);
+        }
+        result.add(company);
 
         SortUtils.sort(result,"orderNum",SortUtils.ASC);
 
@@ -844,4 +841,51 @@ public class BenchmarkingService {
         }
         return wxsslVoList;
     }
+
+    public List<ProBasicOrganizeTree> companyslist(String type) {
+        List<ProBasicOrganizeTree> cpls = CacheContext.cpls;
+        List<ProBasicOrganizeTree> wpls = CacheContext.wpls;
+        Map<String, ProBasicOrganizeTree> rgmap = CacheContext.rgmap;
+        Map<String, ProBasicOrganizeTree> rgmap1 = CacheContext.cpmap;
+        List<ProBasicOrganizeTree> result1 = new ArrayList<>();
+        List<ProBasicOrganizeTree> result2 = new ArrayList<>();
+
+        String F = "F";
+        String G = "G";
+        if (type.contains("-2")){
+            cpls = cpls.stream().filter(cp->G.contains(cp.getEleType())).collect(Collectors.toList());
+        }else if (type.contains("-1")){
+            cpls = cpls.stream().filter(cp->F.contains(cp.getEleType())).collect(Collectors.toList());
+        }
+
+        cpls.stream().forEach(cp->{
+            result1.add(cp);
+        });
+
+        wpls.stream().forEach(wp->{
+            result2.add(wp);
+        });
+        //单区域部署打开
+        ProBasicOrganizeTree company = new ProBasicOrganizeTree();
+        ProBasicOrganizeTree station = new ProBasicOrganizeTree();
+        Optional<ProBasicOrganizeTree> first = result1.stream().findFirst();
+        Optional<ProBasicOrganizeTree> first1 = result2.stream().findFirst();
+        if (first.isPresent()){
+            String regionId = first.get().getParentCode();
+            company.setId(regionId);
+            company.setAname(rgmap.get(regionId).getAname());
+            company.setOrderNum(0);
+        }
+        if (first1.isPresent()){
+            String regionId = first1.get().getParentCode();
+            station.setId(regionId);
+            station.setAname(rgmap1.get(regionId).getAname());
+            station.setOrderNum(0);
+        }
+        result1.add(company);
+        result2.add(station);
+        SortUtils.sort(result1,"orderNum",SortUtils.ASC);
+
+        return result1;
+    }
 }

+ 16 - 9
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/homepage/EconomyPointHomePageService.java

@@ -1,12 +1,12 @@
 package com.gyee.runeconomy.service.homepage;
 
 
+import com.gyee.backconfig.model.auto.ProBasicOrganizeTree;
 import com.gyee.common.util.DateUtils;
 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;
 
@@ -48,6 +48,9 @@ public class EconomyPointHomePageService {
     @Autowired
     private IProEconPointCodeService proEconPointCodeService;
 
+    @Autowired
+    private IProBasicOrganizeTreeService proBasicOrganizeTreeService;
+
     /**
      * 指标率相应类
      */
@@ -144,10 +147,10 @@ public class EconomyPointHomePageService {
         wstimemap = proEconPowerstationInfoDay2Service.getEconFiveLossTime(foreignKeyId, staType, dateType, date);
 
         /** 装机容量 */
-        capacity = new BigDecimal(proBasicCompanyService.getProBasicCompanyCapacity("", foreignKeyId));
+        capacity = new BigDecimal(proBasicOrganizeTreeService.getProBasicCompanyCapacity("", foreignKeyId));
 
         /**装机数量*/
-        quantity = proBasicCompanyService.getProBasicCompanyQuantity("", foreignKeyId);
+        quantity = proBasicOrganizeTreeService.getProBasicCompanyQuantity("", foreignKeyId);
         //综合场用电量
         zhcydllist = proEconPowerstationInfoDay5Service.getEconZhcydldb(foreignKeyId, staType, dateType, date);
 
@@ -237,8 +240,8 @@ public class EconomyPointHomePageService {
         stainfo = new ArrayList<>();
         //电量统计分析
         Map<String, ProEconPowerstationInfoDay1> stamap = new HashMap<>();//场站站五损电量
-        List<ProBasicPowerstation> powerstationList = proBasicPowerstationService.getProBasicPowerstationlist("", foreignKeyId, staType);
-        List<String> prids = powerstationList.stream().map(ProBasicPowerstation::getId).collect(Collectors.toList());
+        List<ProBasicOrganizeTree> powerstationList = proBasicOrganizeTreeService.getProBasicPowerstationlist("", foreignKeyId, staType);
+        List<String> prids = powerstationList.stream().map(ProBasicOrganizeTree::getId).collect(Collectors.toList());
         List<ProEconPowerstationInfoDay1> stafnlyl = proEconPowerstationInfoDay1Service.getEconFiveLosslist(prids, date);
         stafnlyl.stream().forEach(s -> {
             stamap.put(s.getForeignKeyId(), s);
@@ -248,11 +251,15 @@ public class EconomyPointHomePageService {
             Map<String, Object> info = new HashMap<>();
             ProEconPowerstationInfoDay1 day1 = stamap.get(p.getId());
             info.put("aname", p.getAname());
-            info.put("name", p.getName());
+            info.put("name", p.getAname());
             info.put("nemCode", p.getNemCode());
-            info.put("capacity", (p.getJrwindCapacity() + p.getJrCapacity()) / 10000);
-            info.put("xPoint",p.getXEmPoint());
-            info.put("yPoint",p.getYEmPoint());
+            if (p.getJrWindCapacity() != null && p.getJrCapacity() != null) {
+                info.put("capacity", (p.getJrWindCapacity() + p.getJrCapacity()) / 10000);
+            }else {
+                info.put("capacity", 0.0);
+            }
+            info.put("xPoint",p.getXPoint());
+            info.put("yPoint",p.getYPoint());
             if (null != day1) {
                 info.put("fdl", day1.getRfdl().divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP));
                 info.put("fnlyl", compare0(day1.getRllfdl()) ? compare100(day1.getRfdl().divide(day1.getRllfdl(), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))) : new BigDecimal(0));

+ 28 - 4
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/monitor/MatrixService.java

@@ -100,7 +100,7 @@ public class MatrixService {
             wpPoints.add(pointMap.get(ContantXk.SSZBZGL).getNemCode());
             wpPoints.add(pointMap.get(ContantXk.SSZNHGLZS).getNemCode());
             wpPoints.add(pointMap.get(ContantXk.SSZGL).getNemCode());
-            wpPoints.add(pointMap.get(ContantXk.ZYCGL).getNemCode());
+//            wpPoints.add(pointMap.get(ContantXk.TPOINT_WP_YCGL).getNemCode());
             List<ProBasicEquipment> equipments = wpwtmap.get(wp.getId());
             equipments.stream().forEach(wt -> {
                 Map<String, ProBasicEquipmentPoint> equipmentPointMap = wtpAimap.get(wt.getId());
@@ -145,16 +145,21 @@ public class MatrixService {
                 powerVo.setBzgl(wpRealdatas.get(15).getPointValueInDouble());
                 powerVo.setLlgl(wpRealdatas.get(16).getPointValueInDouble());
                 powerVo.setSjgl(wpRealdatas.get(17).getPointValueInDouble());
-                powerVo.setYcgl(wpRealdatas.get(18).getPointValueInDouble());
+//                powerVo.setYcgl(wpRealdatas.get(18).getPointValueInDouble());
 
                 AtomicReference<Double> cxgl = new AtomicReference<>((double) 0);
                 AtomicReference<Double> agc = new AtomicReference<>((double) 0);
+                AtomicReference<Double> ycgl = new AtomicReference<>((double) 0);
                 List<ProBasicSubStation> subStations = subwpls.stream().filter(sub -> sub.getWindpowerstationId().equals(wp.getId())).collect(Collectors.toList());
                 subStations.stream().forEach(sub->{
                     Map<String, ProBasicPowerstationPoint> powerstationPointMap = subwppointmap.get(sub.getId());
                     ProBasicPowerstationPoint cxglPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_CXGL);
 
                     ProBasicPowerstationPoint agcPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_AGC);
+
+                    ProBasicPowerstationPoint ycglPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_YCGL);
+
+
                     cxgl.updateAndGet(v -> {
                         try {
                             return new Double((double) (v + edosUtil.getRealData(cxglPoint).getPointValueInDouble()));
@@ -171,10 +176,18 @@ public class MatrixService {
                         }
                         return v;
                     });
+                    ycgl.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getRealData(ycglPoint).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
                 });
                 powerVo.setCxgl(cxgl.get());
                 powerVo.setAgc(agc.get());
-
+                powerVo.setYcgl(ycgl.get());
                 jrts.addAndGet(powerVo.getJrts());
                 dfts.addAndGet((int) wpRealdatas.get(0).getPointValueInDouble());
                 sdtj.addAndGet((int) wpRealdatas.get(1).getPointValueInDouble());
@@ -350,15 +363,17 @@ public class MatrixService {
                 powerVo.setBzgl(wpRealdatas.get(8).getPointValueInDouble());
                 powerVo.setLlgl(wpRealdatas.get(9).getPointValueInDouble());
                 powerVo.setSjgl(wpRealdatas.get(10).getPointValueInDouble());
-                powerVo.setYcgl(wpRealdatas.get(11).getPointValueInDouble());
+//                powerVo.setYcgl(wpRealdatas.get(11).getPointValueInDouble());
                 AtomicReference<Double> cxgl = new AtomicReference<>((double) 0);
                 AtomicReference<Double> agc = new AtomicReference<>((double) 0);
+                AtomicReference<Double> ycgl = new AtomicReference<>((double) 0);
                 List<ProBasicSubStation> subStations = subwpls.stream().filter(sub -> sub.getWindpowerstationId().equals(wp.getId())).collect(Collectors.toList());
                 subStations.stream().forEach(sub->{
                     Map<String, ProBasicPowerstationPoint> powerstationPointMap = subwppointmap.get(sub.getId());
                     ProBasicPowerstationPoint cxglPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_CXGL);
 
                     ProBasicPowerstationPoint agcPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_AGC);
+                    ProBasicPowerstationPoint ycglPoint = powerstationPointMap.get(ContantXk.TPOINT_WP_YCGL);
                     cxgl.updateAndGet(v -> {
                         try {
                             return new Double((double) (v + edosUtil.getRealData(cxglPoint).getPointValueInDouble()));
@@ -375,9 +390,18 @@ public class MatrixService {
                         }
                         return v;
                     });
+                    ycgl.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getRealData(ycglPoint).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
                 });
                 powerVo.setCxgl(cxgl.get());
                 powerVo.setAgc(agc.get());
+                powerVo.setYcgl(ycgl.get());
 
                 if (wp.getId().contains("_FDC_")){
                     jrts.addAndGet(powerVo.getJrts());