Browse Source

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

 Conflicts:
	web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/init/CacheContext.java
xushili 1 year ago
parent
commit
98e4b76ead

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

@@ -68,7 +68,7 @@ public class BenchmarkingController {
 
     @GetMapping(value = "/alllist")
     @ApiOperation(value = "场站之后列表", notes = "场站之后列表")
-    public R alllist(@RequestParam(value = "ids", required = true) String ids,
+    public R alllist(@RequestParam(value = " ", required = true) String ids,
                         @RequestParam(value = "type", required = false) String type) {
 
         List<ProBasicOrganizeTree> resultList = benchmarkingService.allList(ids,type);

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

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -168,20 +169,23 @@ public class CacheContext implements CommandLineRunner {
     public static Map<String, Map<Double,ProEconWtPowerCurveFitting>> curveFittingPowerMap = new HashMap<>(); //自算,最优功率
     public static Map<String,List<ProBasicStatusPoint>> statusMap = new HashMap<>();
     public static List<ProBasicOrganizeTree> proBasicOrganizeTrees;
+    public static Map<String, ProBasicOrganizeTree> proBasicOrganizeTreesMap;
 
     @Override
     public void run(String... args) throws Exception {
         logger.info("缓存开始------------------------------------------------------------");
         proBasicOrganizeTrees = proBasicOrganizeTreeService.list();
         proBasicOrganizeTrees = proBasicOrganizeTrees.stream().filter(pbot -> pbot.getIsAble() == 1).collect(Collectors.toList());
-        //List<String> pbotids = proBasicOrganizeTrees.stream().map(pbot -> pbot.getId()).collect(Collectors.toList());
-        //Map<String, Object> pbotidMap = redisService.batchGetKeys(pbotids);
+        proBasicOrganizeTreesMap = proBasicOrganizeTrees.stream().collect(Collectors.toMap(ProBasicOrganizeTree::getId, Function.identity()));
+
+        List<String> pbotids = proBasicOrganizeTrees.stream().map(pbot -> pbot.getId()).collect(Collectors.toList());
+        Map<String, Object> pbotidMap = redisService.batchGetKeys(pbotids);
 
         bnls = proBasicBranchService.list();
-        //List<String> bnlids = bnls.stream().map(bnl -> bnl.getId()).collect(Collectors.toList());
-        //Map<String, Object> objectMap = redisService.batchGetKeys(bnlids);
+        List<String> bnlids = bnls.stream().map(bnl -> bnl.getId()).collect(Collectors.toList());
+        Map<String, Object> objectMap = redisService.batchGetKeys(bnlids);
         bnls.stream().forEach(bn -> {
-            String bnString = redisService.get(bn.getId());
+            String bnString = (String) objectMap.get(bn.getId());
             Map<String, ProBasicEquipmentPoint> stringWindturbinetestingpointnewMap = JSONObject.parseObject(bnString, new TypeReference<Map<String, ProBasicEquipmentPoint>>() {
             });
             bnAimap.put(bn.getId(), stringWindturbinetestingpointnewMap);
@@ -379,7 +383,7 @@ public class CacheContext implements CommandLineRunner {
             wtmap.put(wt.getId(), wt);
             //标杆风机初始化
             wtstandardmap.put(wt.getId(), wt.getId());
-            String wtString = redisService.get(wt.getId());
+            String wtString = (String) pbotidMap.get(wt.getId());
             Map<String, ProBasicEquipmentPoint> stringWindturbinetestingpointnewMap = JSONObject.parseObject(wtString, new TypeReference<Map<String, ProBasicEquipmentPoint>>() {
             });
             wtpAimap.put(wt.getId(), stringWindturbinetestingpointnewMap);
@@ -487,7 +491,7 @@ public class CacheContext implements CommandLineRunner {
                 prolist.add(p);
                 wppromap.put(p.getOrgType().contains("STA"), prolist);
             }
-            String pjString = redisService.get(p.getId());
+            String pjString = (String) pbotidMap.get(p.getId());
             Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(pjString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
             });
             propointmap.put(p.getId(), stringWindpowerstationpointnewMap);
@@ -499,7 +503,7 @@ public class CacheContext implements CommandLineRunner {
         subwpls = proBasicOrganizeTreeService.list().stream().filter(i-> i.getIsAble()==1 && i.getOrgType().contains("SBS")).collect(Collectors.toList());
         subwpls.stream().forEach(sub->{
 
-            String subString = redisService.get(sub.getId());
+            String subString = (String) pbotidMap.get(sub.getId());
             Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(subString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
             });
             subwppointmap.put(sub.getId(), stringWindpowerstationpointnewMap);
@@ -531,7 +535,7 @@ public class CacheContext implements CommandLineRunner {
                 lineList.add(l);
                 prolinemap.put(l.getOrgType().contains("EG"), lineList);
             }
-            String lnString = redisService.get(l.getId());
+            String lnString = (String) pbotidMap.get(l.getId());
             Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(lnString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
             });
             linepointmap.put(l.getId(), stringWindpowerstationpointnewMap);
@@ -555,7 +559,7 @@ public class CacheContext implements CommandLineRunner {
         wpls.stream().forEach(wp->{
 
             wpmap.put(wp.getId(), wp);
-            String wpString = redisService.get(wp.getId());
+            String wpString = (String) pbotidMap.get(wp.getId());
             Map<String, ProBasicPowerstationPoint> stringMapMap = JSONObject.parseObject(wpString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
             });
             wppointmap.put(wp.getId(), stringMapMap);

+ 4 - 1
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/model/auto/ProEconEquipmentInfoDay1.java

@@ -4,10 +4,11 @@ package com.gyee.runeconomy.model.auto;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import java.util.Date;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 五损电量
@@ -63,6 +64,8 @@ public class ProEconEquipmentInfoDay1 extends Model {
      */
     private String regionId;
 
+    private String squareId;
+
     /**
      * 日最大风速
      */

+ 21 - 5
web/runeconomy-jjyx/src/main/java/com/gyee/runeconomy/service/bmk/BenchmarkingService.java

@@ -33,6 +33,8 @@ public class BenchmarkingService {
     private final String TYPE_WIND = "wind";
     private final String TYPE_PROJECT = "project";
     private final String TYPE_LINE = "line";
+    private final String TYPE_SQUARE = "square";
+    private final String TYPE_COMPANY = "company";
     private final String TYPE_WINDTURBINE = "windturbine";
 
 
@@ -717,6 +719,7 @@ public class BenchmarkingService {
                 .stream().collect(Collectors.toMap(ProBasicOrganizeTree::getId, ProBasicOrganizeTree::getOrderNum));
 
         List<ProEconEquipmentInfoDay1> list = proEconEquipmentInfoDay1Service.list(qw);
+        list = list.stream().filter(a -> a.getSquareId() != null).collect(Collectors.toList());
         list.stream().forEach(i -> {
             WxsslVo vo = new WxsslVo();
 
@@ -736,6 +739,14 @@ public class BenchmarkingService {
                 vo.setId(i.getWindturbineId());
                 vo.setName(CacheContext.wtmap.get(i.getWindturbineId().trim()).getAname());
                 vo.setOrdernum(CacheContext.wtmap.get(i.getWindturbineId().trim()).getOrderNum().doubleValue());
+            } else if (type.equals(TYPE_SQUARE)) {
+                vo.setId(i.getSquareId());
+                vo.setName(CacheContext.proBasicOrganizeTreesMap.get(i.getSquareId()).getAname());
+                vo.setOrdernum(CacheContext.proBasicOrganizeTreesMap.get(i.getSquareId()).getOrderNum().doubleValue());
+            } else if (type.equals(TYPE_COMPANY)) {
+                vo.setId(i.getId());
+                vo.setName(CacheContext.proBasicOrganizeTreesMap.get(i.getId()).getAname());
+                vo.setOrdernum(CacheContext.proBasicOrganizeTreesMap.get(i.getId()).getOrderNum().doubleValue());
             }
             vo.setDate(i.getRecordDate());
             vo.setFdl(DoubleUtils.keepPrecision(i.getRfdl() / 10000, 2));
@@ -903,20 +914,25 @@ public class BenchmarkingService {
     public List<WxsslVo> gsdb(String companys, String type, String beginDate, String endDate, String target, String sort) {
         QueryWrapper<ProEconEquipmentInfoDay1> qw = new QueryWrapper<>();
         List<WxsslVo> resultList = new ArrayList<>();
-        qw.select("record_date,sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
+        String sql=",sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl";
         qw.ge("record_date", DateUtils.parseDate(beginDate)).le("record_date", DateUtils.parseDate(endDate));
+
         if (companys.endsWith("RGN")) {
+            qw.select("region_id id" + sql);
             qw.eq("region_id", companys);
+            qw.groupBy("region_id");
         } else {
+            qw.select("company_id id" + sql);
             qw.eq("company_id", companys);
+            qw.groupBy("region_id");
         }
         if (type.equals("-1")) {
             qw.like("windturbine_id", "_WT_");
         } else {
             qw.like("windturbine_id", "_IN_");
         }
-        qw.groupBy("record_date");
-        List<WxsslVo> wxsslVoList = getWxsslSortVos(qw, resultList, TYPE_DATE);
+
+        List<WxsslVo> wxsslVoList = getWxsslSortVos(qw, resultList, TYPE_COMPANY);
         if (StringUtils.isNotEmpty(target) && StringUtils.isNotEmpty(sort)) {
             if (sort.equals("1")) {
                 SortUtils.sort(resultList, target, SortUtils.ASC);
@@ -932,7 +948,7 @@ public class BenchmarkingService {
     public List<WxsslVo> zqdb(String companys, String type, String wpids, String projectids, String lineids, String squareids, String beginDate, String endDate, String target, String sort) {
         List<WxsslVo> resultList = new ArrayList<>();
         QueryWrapper<ProEconEquipmentInfoDay1> qw = new QueryWrapper<>();
-        qw.select("line_id,sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
+        qw.select("square_id,sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
 
         qw.ge("record_date", DateUtils.parseDate(beginDate)).le("record_date", DateUtils.parseDate(endDate));
 
@@ -961,7 +977,7 @@ public class BenchmarkingService {
             qw.like("windturbine_id", "_IN_");
         }
         qw.groupBy("square_id");
-        List<WxsslVo> wxsslVoList = getWxsslSortVos(qw, resultList, TYPE_LINE);
+        List<WxsslVo> wxsslVoList = getWxsslSortVos(qw, resultList, TYPE_SQUARE);
         if (StringUtils.isNotEmpty(target) && StringUtils.isNotEmpty(sort)) {
             if (sort.equals("1")) {
                 SortUtils.sort(resultList, target, SortUtils.ASC);