فهرست منبع

经济运行代码修改

wangb@gyee-china.com 1 سال پیش
والد
کامیت
093d5fe127

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

@@ -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);
                 }
             }
         }

+ 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;
+    }
 }

+ 10 - 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);
 

+ 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));