Browse Source

AGC等监视页面修改

shilin 3 years ago
parent
commit
3d00dd81a5

+ 2 - 2
src/main/java/com/gyee/frame/common/spring/Constant.java

@@ -26,7 +26,7 @@ public class Constant {
 //			"AGC004", "AGC005", "AGC006", "AGC007", "AGC008", "AGC011",
 //			"AGC014", "AGC015", "AGC021", "AGC022", "AGC023", "AGC024",
 //			"AGC025", "AGC026", "AGC031" };
-
+// 自算功率,实时功率,出线有功,有功设定,AGC可调上限,可调下限,远方,投入,减闭锁,增闭锁
 	public static final String[] TPOINT_WP_AGC = { "ZZSGL","SSZGL","AGC001", "AGC002",
 			"AGC003", "AGC004", "AGC005", "AGC006", "AGC007", "AGC008"};
 
@@ -191,7 +191,7 @@ public class Constant {
 	public static final String RFDLD = "RFDLD"; // 日理论发电量
 	public static final String RFDLE = "RFDLE"; // 日应发发电量
 	public static final String FJZT = "FJZT"; // 风场状态
-
+	public static final String ZTMX = "ZTMX"; // 明细状态
 	public static final String ZBZGL = "ZBZGL";// 总保证功率
 	public static final String ZSGLZZSGL = "ZZSGL";// 应发功率
 

+ 2 - 2
src/main/java/com/gyee/frame/common/websocket/WebSocketConfig.java

@@ -189,8 +189,8 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
      */
     @Override
     public void configureClientOutboundChannel(ChannelRegistration registration) {
-        registration.taskExecutor().corePoolSize(30)
-                .maxPoolSize(100)
+        registration.taskExecutor().corePoolSize(100)
+                .maxPoolSize(1000)
                 .keepAliveSeconds(60);
         //registration.setInterceptors(new WebSocketChannelInterceptor());
     }

+ 118 - 0
src/main/java/com/gyee/frame/controller/monitor/MatrixPushController.java

@@ -0,0 +1,118 @@
+package com.gyee.frame.controller.monitor;
+
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.service.websocket.MatrixDetialGfPushService;
+import com.gyee.frame.service.websocket.MatrixDetialPushService;
+import com.gyee.frame.service.websocket.MatrixPushService;
+import com.gyee.frame.service.websocket.MatrixQfPushService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/matrix")
+@Api(value = "矩阵" ,tags =  "矩阵")
+public class MatrixPushController {
+
+    @Resource
+    private MatrixPushService matrixPushService;
+    @Resource
+    private MatrixDetialPushService matrixDetialPushService;
+    @Resource
+    private MatrixDetialGfPushService matrixDetialGfPushService;
+    @Resource
+    private MatrixQfPushService matrixQfPushService;
+
+    @PostMapping("/matrixPush")
+    @ResponseBody
+    @ApiOperation(value = "基础矩阵", notes = "基础矩阵")
+    @ApiImplicitParams({})
+    public AjaxResult matrixPush() throws Exception {
+
+
+        Map<String, Object> map=  new HashMap<>();
+
+
+        map=matrixPushService.genreSetMap();
+
+        if (null!=map) {
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+    @PostMapping("/matrixDetialPush")
+    @ResponseBody
+    @ApiOperation(value = "明细矩阵", notes = "明细矩阵")
+    @ApiImplicitParams({})
+    public AjaxResult matrixDetialPush() throws Exception {
+
+
+        Map<String, Object> map=  new HashMap<>();
+
+
+        map=matrixDetialPushService.genreSetMap();
+
+        if (null!=map) {
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+    @PostMapping("/matrixDetialGfPush")
+    @ResponseBody
+    @ApiOperation(value = "光伏矩阵", notes = "光伏矩阵")
+    @ApiImplicitParams({})
+    public AjaxResult matrixDetialGfPush() throws Exception {
+
+
+        Map<String, Object> map=  new HashMap<>();
+
+
+        map=matrixDetialGfPushService.genreSetMap();
+
+        if (null!=map) {
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+    @PostMapping("/matrixQfPush")
+    @ResponseBody
+    @ApiOperation(value = "欠发矩阵", notes = "欠发矩阵")
+    @ApiImplicitParams({})
+    public AjaxResult matrixQfPush() throws Exception {
+
+
+        Map<String, Object> map=  new HashMap<>();
+
+
+        map=matrixQfPushService.genreSetMap();
+
+        if (null!=map) {
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.error.code, map);
+        }
+
+    }
+
+
+
+
+}

+ 9 - 0
src/main/java/com/gyee/frame/model/custom/MatrixVo.java

@@ -9,6 +9,7 @@ public class MatrixVo {
 	private Double fjzt;
 	private Double fs;
     private Double gl;
+    private Double fdl;
 
 	public String getWpId() {
 		return wpId;
@@ -18,6 +19,14 @@ public class MatrixVo {
 		this.wpId = wpId;
 	}
 
+	public Double getFdl() {
+		return fdl;
+	}
+
+	public void setFdl(Double fdl) {
+		this.fdl = fdl;
+	}
+
 	/**
 	 *利用率=实时功率/装机容量
 	 */

+ 189 - 0
src/main/java/com/gyee/frame/model/custom/ZtjsVo.java

@@ -0,0 +1,189 @@
+package com.gyee.frame.model.custom;
+
+public class ZtjsVo {
+
+    private String wpId;
+    private String wpName;
+
+    private Double zjrl;
+    private Double fdl;
+    private Double swdl;
+    private Double lyxs;
+    private Double fs;
+    private Double gl;
+    private Double cxgl;
+    private Double llgl;
+    private Double bzgl;
+    private Double ycgl;
+    private Double AGCzl;
+
+
+
+    private Double llfdl;
+    private Double scadafdl;
+    private Double whss;
+    private Double gzss;
+    private Double slss;
+    private Double xdss;
+    private Double xnss;
+
+    public String getWpId() {
+        return wpId;
+    }
+
+    public void setWpId(String wpId) {
+        this.wpId = wpId;
+    }
+
+    public String getWpName() {
+        return wpName;
+    }
+
+    public void setWpName(String wpName) {
+        this.wpName = wpName;
+    }
+
+    public Double getZjrl() {
+        return zjrl;
+    }
+
+    public void setZjrl(Double zjrl) {
+        this.zjrl = zjrl;
+    }
+
+    public Double getFdl() {
+        return fdl;
+    }
+
+    public void setFdl(Double fdl) {
+        this.fdl = fdl;
+    }
+
+    public Double getSwdl() {
+        return swdl;
+    }
+
+    public void setSwdl(Double swdl) {
+        this.swdl = swdl;
+    }
+
+    public Double getLyxs() {
+        return lyxs;
+    }
+
+    public void setLyxs(Double lyxs) {
+        this.lyxs = lyxs;
+    }
+
+    public Double getFs() {
+        return fs;
+    }
+
+    public void setFs(Double fs) {
+        this.fs = fs;
+    }
+
+    public Double getGl() {
+        return gl;
+    }
+
+    public void setGl(Double gl) {
+        this.gl = gl;
+    }
+
+    public Double getCxgl() {
+        return cxgl;
+    }
+
+    public void setCxgl(Double cxgl) {
+        this.cxgl = cxgl;
+    }
+
+    public Double getLlgl() {
+        return llgl;
+    }
+
+    public void setLlgl(Double llgl) {
+        this.llgl = llgl;
+    }
+
+    public Double getBzgl() {
+        return bzgl;
+    }
+
+    public void setBzgl(Double bzgl) {
+        this.bzgl = bzgl;
+    }
+
+    public Double getYcgl() {
+        return ycgl;
+    }
+
+    public void setYcgl(Double ycgl) {
+        this.ycgl = ycgl;
+    }
+
+    public Double getAGCzl() {
+        return AGCzl;
+    }
+
+    public void setAGCzl(Double AGCzl) {
+        this.AGCzl = AGCzl;
+    }
+
+    public Double getLlfdl() {
+        return llfdl;
+    }
+
+    public void setLlfdl(Double llfdl) {
+        this.llfdl = llfdl;
+    }
+
+    public Double getScadafdl() {
+        return scadafdl;
+    }
+
+    public void setScadafdl(Double scadafdl) {
+        this.scadafdl = scadafdl;
+    }
+
+    public Double getWhss() {
+        return whss;
+    }
+
+    public void setWhss(Double whss) {
+        this.whss = whss;
+    }
+
+    public Double getGzss() {
+        return gzss;
+    }
+
+    public void setGzss(Double gzss) {
+        this.gzss = gzss;
+    }
+
+    public Double getSlss() {
+        return slss;
+    }
+
+    public void setSlss(Double slss) {
+        this.slss = slss;
+    }
+
+    public Double getXdss() {
+        return xdss;
+    }
+
+    public void setXdss(Double xdss) {
+        this.xdss = xdss;
+    }
+
+    public Double getXnss() {
+        return xnss;
+    }
+
+    public void setXnss(Double xnss) {
+        this.xnss = xnss;
+    }
+}

+ 114 - 35
src/main/java/com/gyee/frame/service/websocket/AgcService.java

@@ -5,7 +5,6 @@ import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.model.agc.AgcVo;
 import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
 import com.gyee.frame.model.auto.Windpowerstation;
-import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
@@ -28,19 +27,84 @@ import java.util.*;
 public class AgcService {
     private IRealTimeDataBaseUtil ednaApiUtil = new EdosUtil();
 
+
+
+    public List<Map<String, Object>> getAgcValues() throws Exception {
+        List<Map<String, Object>> vos=new ArrayList<>();
+
+        Map<String, Object> objmap=getAgcVals();
+
+
+        Map<String, Object> linemap=getAgcLine();
+
+        for (Windpowerstation wp : InitialRunner.wpallls) {
+            if (wp.getId().equals("MCH_GDC")) {
+                continue;
+            }
+
+            Map<String, Object> map=new HashMap<>();
+
+            if(objmap.containsKey(wp.getId()))
+            {
+                map.put("jcxx",objmap.get(wp.getId()));
+            }
+
+            if(linemap.containsKey(wp.getId()))
+            {
+                map.put("tb",linemap.get(wp.getId()));
+            }
+
+            vos.add(map);
+            if(wp.getId().equals("QS_FDC"))
+            {
+
+                Map<String, Object> tempmap=new HashMap<>();
+                if(objmap.containsKey("QS_FDC02"))
+                {
+                    tempmap.put("jcxx",objmap.get(wp.getId()));
+                }
+
+                if(linemap.containsKey("QS_FDC02"))
+                {
+                    tempmap.put("tb",linemap.get(wp.getId()));
+                }
+
+                vos.add(tempmap);
+            }else if(wp.getId().equals("SBQ_FDC"))
+            {
+                Map<String, Object> tempmap=new HashMap<>();
+                if(objmap.containsKey("SBQ_FDC02"))
+                {
+                    tempmap.put("jcxx",objmap.get(wp.getId()));
+                }
+
+                if(linemap.containsKey("SBQ_FDC02"))
+                {
+                    tempmap.put("tb",linemap.get(wp.getId()));
+                }
+
+                vos.add(tempmap);
+            }
+
+        }
+        return vos;
+    }
+
     /**
      * 获取agc页面点实时数据
      * @return
      * @throws Exception
      */
-    public Map<String, Double> getAgcVals() throws Exception {
-        Map<String, Double> resultmap = new HashMap<String, Double>();
+    public Map<String, Object> getAgcVals() throws Exception {
+
+        Map<String, Object> objmap = new HashMap<String, Object>();
+
         List<Windpowerstation> wpList = InitialRunner.wpallls;
         for (Windpowerstation wp : wpList) {
             if (wp.getId().equals("MCH_GDC")) {
                 continue;
             }
-
+            Map<String, Double> resultmap = new HashMap<String, Double>();
             String[] agcPoints = Constant.TPOINT_WP_AGC;
 
             Map<String, WindPowerStationTestingPoint2> map = InitialRunner.wpPointmap.get(wp.getId());
@@ -67,7 +131,10 @@ public class AgcService {
 
             }
 
+            objmap.put(wp.getId(),resultmap);
             if (wp.getId().equals("SBQ_FDC")){
+
+                Map<String, Double> tempmap = new HashMap<String, Double>();
                 /*牛五*/
                 double nwllgl = ednaApiUtil.getRealData("SBQFCJSFW.NX_GD_SBQF_FJ_P2_XXX_XXX_CI0192").getPointValueInDouble()
                         +ednaApiUtil.getRealData("SBQFCJSFW.NX_GD_SBQF_FJ_P3_XXX_XXX_CI0192").getPointValueInDouble()
@@ -83,19 +150,25 @@ public class AgcService {
                 double nwzzttzt = ednaApiUtil.getRealData("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2253").getPointValueInDouble();
                 double xlllgl = ednaApiUtil.getRealData("SBQFCJSFW.NX_GD_SBQF_FJ_P1_XXX_XXX_CI0192").getPointValueInDouble();
 
-                resultmap.put("SBQ_FDC_LLGL", MathUtil.decimal(xlllgl/1000,2));
-                resultmap.put("SBQ_FDC02_LLGL", MathUtil.decimal(nwllgl,2));
-                resultmap.put("SBQ_FDC02_AGC001", MathUtil.decimal(nwcxgl,2));
-                resultmap.put("SBQ_FDC02_AGC002", MathUtil.decimal(nwxdzl,2));
-                resultmap.put("SBQ_FDC02_AGC003", MathUtil.decimal(nwygsx,2));
-                resultmap.put("SBQ_FDC02_AGC004", MathUtil.decimal(nwygxx,2));
-                resultmap.put("SBQ_FDC02_AGC005", MathUtil.decimal(nwyf,2));
-                resultmap.put("SBQ_FDC02_AGC006", MathUtil.decimal(nwtt,2));
-                resultmap.put("SBQ_FDC02_AGC007", MathUtil.decimal(nwjbs,2));
-                resultmap.put("SBQ_FDC02_AGC008", MathUtil.decimal(nwzbs,2));
-                resultmap.put("SBQ_FDC02_AVC005", MathUtil.decimal(nwzzttzt,2));
+                Map<String, Double> tempmap2=(Map<String, Double>)objmap.get(wp.getId());
+                tempmap2.put("SBQ_FDC_LLGL", MathUtil.decimal(xlllgl/1000,2));
+
+                tempmap.put("SBQ_FDC02_LLGL", MathUtil.decimal(nwllgl,2));
+                tempmap.put("SBQ_FDC02_AGC001", MathUtil.decimal(nwcxgl,2));
+                tempmap.put("SBQ_FDC02_AGC002", MathUtil.decimal(nwxdzl,2));
+                tempmap.put("SBQ_FDC02_AGC003", MathUtil.decimal(nwygsx,2));
+                tempmap.put("SBQ_FDC02_AGC004", MathUtil.decimal(nwygxx,2));
+                tempmap.put("SBQ_FDC02_AGC005", MathUtil.decimal(nwyf,2));
+                tempmap.put("SBQ_FDC02_AGC006", MathUtil.decimal(nwtt,2));
+                tempmap.put("SBQ_FDC02_AGC007", MathUtil.decimal(nwjbs,2));
+                tempmap.put("SBQ_FDC02_AGC008", MathUtil.decimal(nwzbs,2));
+                tempmap.put("SBQ_FDC02_AVC005", MathUtil.decimal(nwzzttzt,2));
+
+
+                objmap.put("SBQ_FDC02",tempmap);
             }else if(wp.getId().equals("QS_FDC")){
                 /*宋六*/
+                Map<String, Double> tempmap = new HashMap<String, Double>();
                 double slllgl = ednaApiUtil.getRealData("QSFCJSFW.NX_GD_QSF_FJ_P3_XXX_XXX_CI0192").getPointValueInDouble();
                 double slcxgl = ednaApiUtil.getRealData("SLDQ.NX_GD_QSF_DQ_P1_L1_001_AI0013").getPointValueInDouble()/1000;
                 double slxdzl = ednaApiUtil.getRealData("SLAGC.NX_GD_QSF_DQ_P1_L1_001_AI0052").getPointValueInDouble();
@@ -116,29 +189,35 @@ public class AgcService {
                 double zzyx = ednaApiUtil.getRealData("SLAGC.NX_GD_QSF_DQ_P1_L1_001_DI0171") .getPointValueInDouble();
                 double jwgbs = ednaApiUtil.getRealData("SLAGC.NX_GD_QSF_DQ_P1_L1_001_DI0133").getPointValueInDouble();
                 double zwgbs = ednaApiUtil.getRealData("SLAGC.NX_GD_QSF_DQ_P1_L1_001_DI0114").getPointValueInDouble();
-                resultmap.put("QS_FDC_LLGL", MathUtil.decimal(qsllgl / 1000, 2));
-                resultmap.put("QS_FDC02_LLGL", MathUtil.decimal(slllgl, 2));
-                resultmap.put("QS_FDC02_AGC001", MathUtil.decimal(slcxgl, 2));
-                resultmap.put("QS_FDC02_AGC002", MathUtil.decimal(slxdzl, 2));
-                resultmap.put("QS_FDC02_AGC003", MathUtil.decimal(slygsx, 2));
-                resultmap.put("QS_FDC02_AGC004", MathUtil.decimal(slygxx, 2));
-                resultmap.put("QS_FDC02_AGC005", MathUtil.decimal(slyf, 2));
-                resultmap.put("QS_FDC02_AGC006", MathUtil.decimal(sltt, 2));
-                resultmap.put("QS_FDC02_AGC007", MathUtil.decimal(sljbs, 2));
-                resultmap.put("QS_FDC02_AGC008", MathUtil.decimal(slzbs, 2));
-
-                resultmap.put("QS_FDC02_AVC001", MathUtil.decimal(mxdysj, 2));
-                resultmap.put("QS_FDC02_AVC002", MathUtil.decimal(mxdytk, 2));
-                resultmap.put("QS_FDC02_AVC003", MathUtil.decimal(mxkjwg, 2));
-                resultmap.put("QS_FDC02_AVC004", MathUtil.decimal(mxkzwg, 2));
-                resultmap.put("QS_FDC02_AVC005", MathUtil.decimal(zztt, 2));
-                resultmap.put("QS_FDC02_AVC006", MathUtil.decimal(zzyx, 2));
-                resultmap.put("QS_FDC02_AVC007", MathUtil.decimal(jwgbs, 2));
-                resultmap.put("QS_FDC02_AVC008", MathUtil.decimal(zwgbs, 2));
+
+                Map<String, Double> tempmap2=(Map<String, Double>)objmap.get(wp.getId());
+                tempmap2.put("QS_FDC_LLGL", MathUtil.decimal(qsllgl / 1000, 2));
+
+
+                tempmap.put("QS_FDC02_LLGL", MathUtil.decimal(slllgl, 2));
+                tempmap.put("QS_FDC02_AGC001", MathUtil.decimal(slcxgl, 2));
+                tempmap.put("QS_FDC02_AGC002", MathUtil.decimal(slxdzl, 2));
+                tempmap.put("QS_FDC02_AGC003", MathUtil.decimal(slygsx, 2));
+                tempmap.put("QS_FDC02_AGC004", MathUtil.decimal(slygxx, 2));
+                tempmap.put("QS_FDC02_AGC005", MathUtil.decimal(slyf, 2));
+                tempmap.put("QS_FDC02_AGC006", MathUtil.decimal(sltt, 2));
+                tempmap.put("QS_FDC02_AGC007", MathUtil.decimal(sljbs, 2));
+                tempmap.put("QS_FDC02_AGC008", MathUtil.decimal(slzbs, 2));
+
+                tempmap.put("QS_FDC02_AVC001", MathUtil.decimal(mxdysj, 2));
+                tempmap.put("QS_FDC02_AVC002", MathUtil.decimal(mxdytk, 2));
+                tempmap.put("QS_FDC02_AVC003", MathUtil.decimal(mxkjwg, 2));
+                tempmap.put("QS_FDC02_AVC004", MathUtil.decimal(mxkzwg, 2));
+                tempmap.put("QS_FDC02_AVC005", MathUtil.decimal(zztt, 2));
+                tempmap.put("QS_FDC02_AVC006", MathUtil.decimal(zzyx, 2));
+                tempmap.put("QS_FDC02_AVC007", MathUtil.decimal(jwgbs, 2));
+                tempmap.put("QS_FDC02_AVC008", MathUtil.decimal(zwgbs, 2));
+
+                objmap.put("QS_FDC02",tempmap);
 
             }
         }
-        return resultmap;
+        return objmap;
     }
 
     /**

+ 6 - 0
src/main/java/com/gyee/frame/service/websocket/GenreSetPushService.java

@@ -33,6 +33,8 @@ public class GenreSetPushService {
     private WindpowerinfodayService windpowerinfodayService;
     @Resource
     private ProjectPlanService projectPlanService;
+    @Resource
+    private RealPowerPushService realPowerPushService;
 
 
     private final String QS = "0";
@@ -558,7 +560,11 @@ public class GenreSetPushService {
             map.put("wxssmap", wxssmap);
 
 /****************************************************五项损失************************************************************/
+/****************************************************日功率曲线**********************************************************/
 
+            List<DataVo> glvos =realPowerPushService.findRealPower(id);
+            map.put("glvos", glvos);
+/*************************************************日功率曲线*************************************************************/
 
 /****************************************************日电量历史**********************************************************/
 

+ 91 - 187
src/main/java/com/gyee/frame/service/websocket/MatrixDetialGfPushService.java

@@ -59,33 +59,14 @@ public class MatrixDetialGfPushService {
 
 
 
-        int fcdjnum = 0;
-        int fcsdtjnum = 0;
-        int fczcfdnum = 0;
-        int fcqxjclnum = 0;
-        int fcxdjclnum = 0;
-        int fcxdtjnum = 0;
-        int fcgztjnum = 0;
-        int fccnsltjnum = 0;
-        int fcjxtjnum = 0;
-        int fccnsljxnum = 0;
-        int fcdwslnum = 0;
-        int fchjslnum = 0;
-        int fclxnum = 0;
-
-        int gfdjnum = 0;
-        int gfsdtjnum = 0;
-        int gfzcfdnum = 0;
-        int gfqxjclnum = 0;
-        int gfxdjclnum = 0;
-        int gfxdtjnum = 0;
-        int gfgztjnum = 0;
-        int gfcnsltjnum = 0;
-        int gfjxtjnum = 0;
-        int gfcnsljxnum = 0;
-        int gfdwslnum = 0;
-        int gfhjslnum = 0;
-        int gflxnum = 0;
+        double gfdjts=0.0;
+        double gfyxts=0.0;
+        double gfgzts=0.0;
+        double gflxts=0.0;
+        double gfwhts=0.0;
+        double gfxdts=0.0;
+        double gfslts=0.0;
+
         String[] ycPoints1 = Constant.TPOINT_WP_FGLYC.split(",");
 
 //        Map<String, List<MatrixVo>> fjmap = new HashMap<>();
@@ -119,32 +100,7 @@ public class MatrixDetialGfPushService {
             //AGC有功设定
             jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.AGC002).getCode());
 
-            //待机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.DJNUM).getCode());
-            //手动停机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.TJNUM).getCode());
-            //正常发电台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.FDNUM).getCode());
-            // 缺陷降出力台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.FDJCLNUM).getCode());
-            // 限电降出力台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.XDJCLNUM).getCode());
-            // 限电停机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.XDTJNUM).getCode());
-            // 故障停机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.GZNUM).getCode());
-            // 场内受累停机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.CNGZNUM).getCode());
-            // 检修停机台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.JXNUM).getCode());
-            // 场内受累检修台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.CNJXNUM).getCode());
-            // 电网受累台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.DWSLNUM).getCode());
-            // 环境受累台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.HJSLNUM).getCode());
-            // 风机离线台数
-            jczbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.LXNUM).getCode());
+
 
 
             List<PointData> jczblist = realApiUtil.getRealData(jczbls);
@@ -167,78 +123,7 @@ public class MatrixDetialGfPushService {
                 jczbmap.put("agccxyg", MathUtil.twoBit(jczblist.get(5).getPointValueInDouble()));
                 //AGC有功设定
                 jczbmap.put("agcygsd", MathUtil.twoBit(jczblist.get(6).getPointValueInDouble()));
-                //待机台数
-                Double djnum = MathUtil.twoBit(jczblist.get(7).getPointValueInDouble());
-                jczbmap.put("djnum", djnum);
-                //手动停机台数
-                Double sdtjnum = MathUtil.twoBit(jczblist.get(8).getPointValueInDouble());
-                jczbmap.put("sdtjts", sdtjnum);
-                //正常发电台数
-                Double zcfdnum = MathUtil.twoBit(jczblist.get(9).getPointValueInDouble());
-                jczbmap.put("zcfdnum", zcfdnum);
-                //缺陷降出力台数
-                Double qxjclnum = MathUtil.twoBit(jczblist.get(10).getPointValueInDouble());
-                jczbmap.put("qxjclnum", qxjclnum);
-                // 限电降出力台数
-                Double xdjclnum = MathUtil.twoBit(jczblist.get(11).getPointValueInDouble());
-                jczbmap.put("xdjclnum", xdjclnum);
-                // 限电停机台数
-                Double xdtjnum = MathUtil.twoBit(jczblist.get(12).getPointValueInDouble());
-                jczbmap.put("xdtjnum", xdtjnum);
-                // 故障停机台数
-                Double gztjnum = MathUtil.twoBit(jczblist.get(13).getPointValueInDouble());
-                jczbmap.put("gztjnum", gztjnum);
-                // 场内受累停机台数
-                Double cnsltjnum = MathUtil.twoBit(jczblist.get(14).getPointValueInDouble());
-                jczbmap.put("cnsltjnum", cnsltjnum);
-                // 检修停机台数
-                Double jxtjnum = MathUtil.twoBit(jczblist.get(15).getPointValueInDouble());
-                jczbmap.put("jxtjnum", jxtjnum);
-                // 场内受累检修台数
-                Double cnsljxnum = MathUtil.twoBit(jczblist.get(16).getPointValueInDouble());
-                jczbmap.put("cnsljxnum", cnsljxnum);
-                // 电网受累台数
-                Double dwslnum = MathUtil.twoBit(jczblist.get(17).getPointValueInDouble());
-                jczbmap.put("dwslnum", dwslnum);
-                // 环境受累台数
-                Double hjslnum = MathUtil.twoBit(jczblist.get(18).getPointValueInDouble());
-                jczbmap.put("hjslnum", hjslnum);
-                // 风机离线台数
-                Double lxnum = MathUtil.twoBit(jczblist.get(19).getPointValueInDouble());
-                jczbmap.put("lxnum", lxnum);
-
-                if (wp.getId().endsWith("FDC")) {
-
-                    fcdjnum = fcdjnum + djnum.intValue();
-                    fcsdtjnum = fcsdtjnum + sdtjnum.intValue();
-                    fczcfdnum = fczcfdnum + zcfdnum.intValue();
-                    fcqxjclnum = fcqxjclnum + qxjclnum.intValue();
-                    fcxdjclnum = fcxdjclnum + xdjclnum.intValue();
-                    fcxdtjnum = fcxdtjnum + xdtjnum.intValue();
-                    fcgztjnum = fcgztjnum + gztjnum.intValue();
-                    fccnsltjnum = fccnsltjnum + cnsltjnum.intValue();
-                    fcjxtjnum = fcjxtjnum + jxtjnum.intValue();
-                    fccnsljxnum = fccnsljxnum + cnsljxnum.intValue();
-                    fcdwslnum = fcdwslnum + dwslnum.intValue();
-                    fchjslnum = fchjslnum + hjslnum.intValue();
-                    fclxnum = fclxnum + lxnum.intValue();
-
-                } else if (wp.getId().endsWith("GDC")) {
-
-                    gfdjnum = gfdjnum + djnum.intValue();
-                    gfsdtjnum = gfsdtjnum + sdtjnum.intValue();
-                    gfzcfdnum = gfzcfdnum + zcfdnum.intValue();
-                    gfqxjclnum = gfqxjclnum + qxjclnum.intValue();
-                    gfxdjclnum = gfxdjclnum + xdjclnum.intValue();
-                    gfxdtjnum = gfxdtjnum + xdtjnum.intValue();
-                    gfgztjnum = gfgztjnum + gztjnum.intValue();
-                    gfcnsltjnum = gfcnsltjnum + cnsltjnum.intValue();
-                    gfjxtjnum = gfjxtjnum + jxtjnum.intValue();
-                    gfcnsljxnum = gfcnsljxnum + cnsljxnum.intValue();
-                    gfdwslnum = gfdwslnum + dwslnum.intValue();
-                    gfhjslnum = gfhjslnum + hjslnum.intValue();
-                    gflxnum = gflxnum + lxnum.intValue();
-                }
+
 
             } else {
                 //实时风速
@@ -255,32 +140,7 @@ public class MatrixDetialGfPushService {
                 jczbmap.put("agccxyg", 0.0);
                 //AGC有功设定
                 jczbmap.put("agcygsd", 0.0);
-                //待机台数
-                jczbmap.put("djnum",  0.0);
-                //手动停机台数
-                jczbmap.put("sdtjts", 0.0);
-                //正常发电台数
-                jczbmap.put("zcfdnum", 0.0);
-                //缺陷降出力台数
-                jczbmap.put("qxjclnum", 0.0);
-                // 限电降出力台数
-                jczbmap.put("xdjclnum", 0.0);
-                // 限电停机台数
-                jczbmap.put("xdtjnum", 0.0);
-                // 故障停机台数
-                jczbmap.put("gztjnum", 0.0);
-                // 场内受累停机台数
-                jczbmap.put("cnsltjnum", 0.0);
-                // 检修停机台数
-                jczbmap.put("jxtjnum", 0.0);
-                // 场内受累检修台数
-                jczbmap.put("cnsljxnum", 0.0);
-                // 电网受累台数
-                jczbmap.put("dwslnum", 0.0);
-                // 环境受累台数
-                jczbmap.put("hjslnum", 0.0);
-                // 风机离线台数
-                jczbmap.put("lxnum", 0.0);
+
             }
 
             fczbmap.put(wp.getId(),jczbmap);
@@ -298,13 +158,14 @@ public class MatrixDetialGfPushService {
 
             for(Windturbine wt:wtls)
             {
-                //风机状态
+                //状态
                 fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.FJZT).getId());
-                //风速
-                fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.TPOINT_WT_FJSSFS).getId());
+                //交流电流
+                fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.TPOINT_WT_NBQJLDL).getId());
                 //功率
                 fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.TPOINT_WT_FJGL).getId());
-
+                //交流电压
+                fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.TPOINT_WT_NBQJLDY).getId());
             }
 
             List<PointData> fjzblist = realApiUtil.getRealData(fjzbls);
@@ -312,7 +173,16 @@ public class MatrixDetialGfPushService {
             if (!fjzblist.isEmpty() && fjzblist.size() == fjzbls.size()) {
 
 
-                int step=3;
+                int step=4;
+
+
+                double djts=0.0;
+                double yxts=0.0;
+                double gzts=0.0;
+                double lxts=0.0;
+                double whts=0.0;
+                double xdts=0.0;
+                double slts=0.0;
                 for(int i=0;i<wtls.size();i++)
                 {
                     Windturbine wt=wtls.get(i);
@@ -327,16 +197,72 @@ public class MatrixDetialGfPushService {
 
                     }
 
-                    vo.setFjzt(MathUtil.twoBit(fjzblist.get(i*step).getPointValueInDouble()));
+                    double fjzt = MathUtil.twoBit(MathUtil.twoBit(fjzblist.get(i*step).getPointValueInDouble()));
+
+                    switch (Double.valueOf(fjzt).intValue()) {
+                        case 0:
+                            djts++;
+                            break;
+                        case 1:
+                            yxts++;
+                            break;
+                        case 2:
+                            gzts++;
+                            break;
+                        case 3:
+                            lxts++;
+                            break;
+                        case 4:
+                            whts++;
+                            break;
+                        case 5:
+                            xdts++;
+                            break;
+//                        case 6:
+//                            slts++;
+//                            break;
+
+                        default:
+
+                            break;
+                    }
+                    vo.setFjzt(fjzt);
                     vo.setFs(MathUtil.twoBit(fjzblist.get(i*step+1).getPointValueInDouble()));
                     vo.setGl(MathUtil.twoBit(fjzblist.get(i*step+2).getPointValueInDouble()));
+                    vo.setFdl(MathUtil.twoBit(fjzblist.get(i*step+3).getPointValueInDouble()));
                     vo.setWtCode(wt.getCode());
                     vo.setWpId(wt.getWindpowerstationid());
                     vos.add(vo);
 
                 }
 
+
+
+
+
+                jczbmap.put("djts", djts);
+                jczbmap.put("yxts", yxts);
+                jczbmap.put("gzts", gzts);
+                jczbmap.put("lxts", lxts);
+                jczbmap.put("whts", whts);
+                jczbmap.put("xdts", xdts);
+                jczbmap.put("slts", slts);
+
+                jczbmap.put("jrts",djts+yxts+gzts+lxts+whts+xdts+slts);
+
+                fczbmap.put(wp.getId(),jczbmap);
+
+                gfdjts = gfdjts + Double.valueOf(djts).intValue();
+                gfyxts = gfyxts + Double.valueOf(yxts).intValue();
+                gfgzts = gfgzts + Double.valueOf(gzts).intValue();
+                gflxts = gflxts + Double.valueOf(lxts).intValue();
+                gfwhts = gfwhts + Double.valueOf(whts).intValue();
+                gfxdts = gfxdts + Double.valueOf(xdts).intValue();
+                gfslts = gfslts + Double.valueOf(slts).intValue();
+
+
             }
+
             fjvos.add(vos);
 
 /*************************************************风机指标统计*************************************************************/
@@ -350,37 +276,15 @@ public class MatrixDetialGfPushService {
 /*******************************************风场、光伏状态数量统计***********************************************************/
 
 
+        map.put("gfdjts", gfdjts);
+        map.put("gfyxts", gfyxts);
+        map.put("gfgzts", gfgzts);
+        map.put("gflxts", gflxts);
+        map.put("gfwhts", gfwhts);
+        map.put("gfxdts", gfxdts);
+        map.put("gfslts", gfslts);
 
-//        map.put("fcdjnum", fcdjnum);
-//        map.put("fcsdtjnum", fcsdtjnum);
-//        map.put("fczcfdnum", fczcfdnum);
-//        map.put("fcqxjclnum", fcqxjclnum);
-//        map.put("fcxdjclnum", fcxdjclnum);
-//        map.put("fcxdtjnum", fcxdtjnum);
-//        map.put("fcgztjnum", fcgztjnum);
-//        map.put("fccnsltjnum", fccnsltjnum);
-//        map.put("fcjxtjnum", fcjxtjnum);
-//        map.put("fccnsljxnum", fccnsljxnum);
-//        map.put("fcdwslnum", fcdwslnum);
-//        map.put("fchjslnum", fchjslnum);
-//        map.put("fclxnum", fclxnum);
-
-
-        map.put("gfdjnum", gfdjnum);
-        map.put("gfsdtjnum", gfsdtjnum);
-        map.put("gfzcfdnum", gfzcfdnum);
-        map.put("gfqxjclnum", gfqxjclnum);
-        map.put("gfxdjclnum", gfxdjclnum);
-        map.put("gfxdtjnum", gfxdtjnum);
-        map.put("gfgztjnum", gfgztjnum);
-        map.put("gfcnsltjnum", gfcnsltjnum);
-        map.put("gfjxtjnum", gfjxtjnum);
-        map.put("gfcnsljxnum", gfcnsljxnum);
-        map.put("gfdwslnum", gfdwslnum);
-        map.put("gfhjslnum", gfhjslnum);
-        map.put("gflxnum", gflxnum);
-
-        double gfjrnum = gfdjnum + gfsdtjnum + gfzcfdnum + gfqxjclnum + gfxdjclnum + gfxdtjnum+gfgztjnum+gfcnsltjnum+gfjxtjnum+gfcnsljxnum+gfdwslnum+gfhjslnum+gflxnum;
+        double gfjrnum = gfdjts + gfyxts + gfgzts + gflxts + gfwhts + gfxdts+gfslts;
 
         map.put("gfjrnum", gfjrnum);
 /*******************************************风场、光伏状态数量统计***********************************************************/

+ 23 - 1
src/main/java/com/gyee/frame/service/websocket/MatrixDetialPushService.java

@@ -163,6 +163,7 @@ public class MatrixDetialPushService {
                 jczbmap.put("agccxyg", MathUtil.twoBit(jczblist.get(5).getPointValueInDouble()));
                 //AGC有功设定
                 jczbmap.put("agcygsd", MathUtil.twoBit(jczblist.get(6).getPointValueInDouble()));
+
                 //待机台数
                 Double djnum = MathUtil.twoBit(jczblist.get(7).getPointValueInDouble());
                 jczbmap.put("djnum", djnum);
@@ -203,6 +204,25 @@ public class MatrixDetialPushService {
                 Double lxnum = MathUtil.twoBit(jczblist.get(19).getPointValueInDouble());
                 jczbmap.put("lxnum", lxnum);
 
+
+                double djts=djnum+sdtjnum;
+                double yxts=zcfdnum+qxjclnum;
+                double gzts=gztjnum+cnsltjnum;
+                double lxts=lxnum;
+                double whts=jxtjnum+cnsljxnum;
+                double xdts=xdjclnum+xdtjnum;
+                double slts=dwslnum+hjslnum;
+
+                jczbmap.put("djts", djts);
+                jczbmap.put("yxts", yxts);
+                jczbmap.put("gzts", gzts);
+                jczbmap.put("lxts", lxts);
+                jczbmap.put("whts", whts);
+                jczbmap.put("xdts", xdts);
+                jczbmap.put("slts", slts);
+
+                jczbmap.put("jrts",djnum+sdtjnum+zcfdnum+qxjclnum+xdjclnum+xdtjnum+gztjnum+cnsltjnum+jxtjnum+cnsljxnum+dwslnum+hjslnum+lxnum);
+
                 if (wp.getId().endsWith("FDC")) {
 
                     fcdjnum = fcdjnum + djnum.intValue();
@@ -295,7 +315,7 @@ public class MatrixDetialPushService {
             for(Windturbine wt:wtls)
             {
                 //风机状态
-                fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.FJZT).getId());
+                fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.ZTMX).getId());
                 //风速
                 fjzbls.add(windTurbineTestingPointAiService.getWindTurbineTestingPointAi2(wt.getId(), Constant.TPOINT_WT_FJSSFS).getId());
                 //功率
@@ -360,6 +380,8 @@ public class MatrixDetialPushService {
         map.put("fchjslnum", fchjslnum);
         map.put("fclxnum", fclxnum);
 
+
+
         double fcjrnum = fcdjnum + fcsdtjnum + fczcfdnum + fcqxjclnum + fcxdjclnum + fcxdtjnum+fcgztjnum+fccnsltjnum+fcjxtjnum+fccnsljxnum+fcdwslnum+fchjslnum+fclxnum;
 
         map.put("fcjrnum", fcjrnum);

+ 3 - 3
src/main/java/com/gyee/frame/service/websocket/MatrixPushService.java

@@ -243,9 +243,9 @@ public class MatrixPushService {
 
 
                     double fjzt = MathUtil.twoBit(fjzblist.get(i * step).getPointValueInDouble());
-                    if (fjzt == 6) {
-                        slts++;
-                    }
+//                    if (fjzt == 6) {
+//                        slts++;
+//                    }
                     vo.setFjzt(fjzt);
                     vo.setFs(MathUtil.twoBit(fjzblist.get(i * step + 1).getPointValueInDouble()));
                     vo.setGl(MathUtil.twoBit(fjzblist.get(i * step + 2).getPointValueInDouble()));

+ 20 - 3
src/main/java/com/gyee/frame/service/websocket/MatrixQfPushService.java

@@ -67,7 +67,7 @@ public class MatrixQfPushService {
         int fclxnum = 0;
         int fcwhnum = 0;
         int fcxdnum = 0;
-
+        int fcslnum = 0;
         int gfdjnum = 0;
         int gfyxnum = 0;
         int gfgznum = 0;
@@ -219,6 +219,7 @@ public class MatrixQfPushService {
 
 
                 int step = 3;
+                double slts=0;
                 for (int i = 0; i < wtls.size(); i++) {
                     Windturbine wt = wtls.get(i);
 
@@ -250,6 +251,11 @@ public class MatrixQfPushService {
                             vo.setLyl(0.0);
                         }
                     }
+
+//                    if(fjzt==6)
+//                    {
+//                        slts++;
+//                    }
                     if(StringUtils.notEmp(wt.getStatus()))
                     {
                         String num=wt.getStatus().substring(wt.getStatus().length()-3);
@@ -260,7 +266,16 @@ public class MatrixQfPushService {
                     vo.setWpId(wt.getWindpowerstationid());
                     vos.add(vo);
                 }
-
+                //限电台数
+                jczbmap.put("slts", slts);
+                double djts=(Double)jczbmap.get("djts");
+                double yxts=(Double)jczbmap.get("yxts");
+                double gzts=(Double)jczbmap.get("gzts");
+                double lxts=(Double)jczbmap.get("lxts");
+                double whts=(Double)jczbmap.get("whts");
+                double xdts=(Double)jczbmap.get("xdts");
+                jczbmap.put("jrts", Double.valueOf(slts)+djts+yxts+gzts+lxts+whts+xdts);
+                fcslnum=fcslnum+Double.valueOf(slts).intValue();
             }
            // fjmap.put(wp.getId(), vos);
             fjvos.add(vos);
@@ -286,8 +301,10 @@ public class MatrixQfPushService {
         map.put("fcwhnum", fcwhnum);
         //风场限电台数
         map.put("fcxdnum", fcxdnum);
+        //风场受累台数
+        map.put("fcslnum", fcslnum);
 
-
+        map.put("fcjrnum", fcdjnum+fcyxnum+fcgznum+fclxnum+fcwhnum+fcxdnum+fcslnum);
         List<String> qfzbls = new ArrayList<>();
         //日0欠发电量
         qfzbls.add(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(FD, Constant.R0QFZT).getCode());

+ 22 - 8
src/main/java/com/gyee/frame/service/websocket/RealPowerPushService.java

@@ -50,25 +50,39 @@ public class RealPowerPushService {
         map.put(QS, findRealPower(QS));
         map.put(FD, findRealPower(FD));
         map.put(GF, findRealPower(GF));
-        map.put("QS_FDC",findRealPower("QS_FDC"));
-        map.put("QSQ02_GC",findRealPower("QSQ02_GC"));
-        map.put("QSQ05_XL",findRealPower("QSQ05_XL"));
+//        map.put("QS_FDC",findRealPower("QS_FDC"));
+//        map.put("QSQ02_GC",findRealPower("QSQ02_GC"));
+//        map.put("QSQ05_XL",findRealPower("QSQ05_XL"));
 
         return map;
 
     }
 
-    public Map<String, Object> findRealPower(String id) throws Exception {
-        Map<String, Object> map = new HashMap<String, Object>();
+
+    public Map<String, Object> genreSetWpMap(String wpId) throws Exception {
+
+        Map<String, Object> map = new HashMap<>();
+
+        map.put(wpId, findRealPower(wpId));
+
+//        map.put("QS_FDC",findRealPower("QS_FDC"));
+//        map.put("QSQ02_GC",findRealPower("QSQ02_GC"));
+//        map.put("QSQ05_XL",findRealPower("QSQ05_XL"));
+
+        return map;
+
+    }
+
+    public List<DataVo> findRealPower(String id) throws Exception {
+        List<DataVo> glvos = new ArrayList<>();
         if (StringUtils.notEmp(id)) {
 
 
 /****************************************************曲线历史**********************************************************/
-            List<DataVo> glvos = findRealPowerChar(id, new Date());
-            map.put("glvos", glvos);
+             glvos = findRealPowerChar(id, new Date());
 /*************************************************曲线历史*************************************************************/
         }
-        return map;
+        return glvos;
     }
     public List<DataVo> findRealPowerChar(String id, Date currentDate) throws Exception {
 

File diff suppressed because it is too large
+ 770 - 284
src/main/java/com/gyee/frame/service/websocket/WpInfoPushService.java


+ 29 - 0
src/main/java/com/gyee/frame/service/websocket/task/AgcPushTask.java

@@ -0,0 +1,29 @@
+package com.gyee.frame.service.websocket.task;
+
+import com.gyee.frame.common.websocket.WebsocketMessageService;
+import com.gyee.frame.service.websocket.AgcService;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class AgcPushTask {
+    @Resource
+    private AgcService agcService;
+    @Resource
+    private WebsocketMessageService websocketMessageService;
+
+    public void agcPush(String destination) throws Exception {
+
+        Map<String, Object> map=new HashMap<>();
+
+        Map<String, Object> jcsjmap=agcService.getAgcVals();
+        Map<String, Object> tbmap=agcService.getAgcLine();
+
+        map.put("jcsj",jcsjmap);
+        map.put("tb",tbmap);
+        websocketMessageService.SendAlertToAll(destination,map);
+    }
+}

+ 16 - 3
src/main/java/com/gyee/frame/service/websocket/task/GenreSetPushTask.java

@@ -1,13 +1,17 @@
 package com.gyee.frame.service.websocket.task;
 
 
+import com.gyee.frame.common.websocket.WebSocketConfig;
 import com.gyee.frame.common.websocket.WebsocketMessageService;
 import com.gyee.frame.service.websocket.GenreSetPushService;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
 
 @Component
 public class GenreSetPushTask {
@@ -25,9 +29,18 @@ public class GenreSetPushTask {
         Map<String, Object> map = new HashMap<>();
 
 
-        map.put(QS, genreSetPushService.findBasicDataInfo(QS));
-        map.put(FD, genreSetPushService.findBasicDataInfo(FD));
-        map.put(GF, genreSetPushService.findBasicDataInfo(GF));
+        Set<Map.Entry<String, CopyOnWriteArraySet<String>>> set = WebSocketConfig.websocketparamcacheMap.entrySet();
+        for (Iterator<Map.Entry<String, CopyOnWriteArraySet<String>>> it = set.iterator(); it.hasNext();) {
+            Map.Entry<String, CopyOnWriteArraySet<String>> entry = (Map.Entry<String, CopyOnWriteArraySet<String>>) it.next();
+            // System.out.println(entry.getKey() + "--->" + entry.getValue());
+            if(entry.getKey().indexOf(destination)!=-1)
+            {
+                String id=entry.getKey().substring(entry.getKey().indexOf(WebSocketConfig.PARAM)+6);
+
+                map = genreSetPushService.findBasicDataInfo(id);
+                websocketMessageService.SendAlertToAll(entry.getKey(),map);
+            }
+        }
 
         websocketMessageService.SendAlertToAll(destination, map);
 

+ 23 - 0
src/main/java/com/gyee/frame/service/websocket/task/WpInfoPushTask.java

@@ -0,0 +1,23 @@
+package com.gyee.frame.service.websocket.task;
+
+import com.gyee.frame.common.websocket.WebsocketMessageService;
+import com.gyee.frame.service.websocket.WpInfoPushService;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+@Component
+public class WpInfoPushTask {
+    @Resource
+    private WpInfoPushService wpInfoPushService;
+    @Resource
+    private WebsocketMessageService websocketMessageService;
+
+    public void wpInfoPush(String destination) throws Exception {
+
+        Map<String, Object> map=wpInfoPushService.genreSetMap();
+
+        websocketMessageService.SendAlertToAll(destination,map);
+    }
+}

+ 66 - 0
src/test/java/test/AgcPushTest.java

@@ -0,0 +1,66 @@
+package test;
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.service.websocket.AgcService;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+import java.util.List;
+import java.util.Map;
+
+public class AgcPushTest {
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+
+
+
+        AgcService agcService= SpringUtils.getBean("agcService");
+
+
+
+        List<Map<String, Object>> vos =agcService.getAgcValues();
+
+
+         System.out.println(vos.size());
+
+
+
+//        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);
+//
+//        Map<String,Object> map=( Map<String,Object>)ar.get("data");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getXfqr()+"----------------"+wtd.getXfqrhgl());
+//        }
+//
+//        AjaxResult ar = singleAnalysisController.singleanalysisChart(wtId,year,month);
+//
+//        Map<String, List<SingleAnalysisVo>> map=( Map<String,List<SingleAnalysisVo>>)ar.get("data");
+//        List<SingleAnalysisVo> vos=map.get("ff");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getFdl()+"----------------"+wtd.getFs());
+//        }
+//
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("ws");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getGzss()+"----------------"+wtd.getJxss()+"----------------"+wtd.getXdss()
+//                    +"----------------"+wtd.getXnss()+"----------------"+wtd.getSlss());
+//        }
+//        System.out.println("---------------------------------------------------------------------------------");
+//        vos=map.get("jd");
+//        for(SingleAnalysisVo wtd:vos)
+//        {
+//            System.out.println(wtd.getJfpl()+"----------------"+wtd.getTjxs());
+//        }
+//
+//
+//
+    }
+}

+ 10 - 6
src/test/java/test/GenreSetPushTest.java

@@ -6,6 +6,7 @@ import com.gyee.frame.service.websocket.GenreSetPushService;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 
+import java.util.HashMap;
 import java.util.Map;
 
 public class GenreSetPushTest {
@@ -15,7 +16,9 @@ public class GenreSetPushTest {
 
         SpringApplication.run(SpringbootStart.class, args);
 
-
+          String QS = "0";
+          String FD = "-1";
+          String GF = "-2";
 
         String wtId="MG01_03";
         String wpId="MHS_FDC";
@@ -26,16 +29,17 @@ public class GenreSetPushTest {
 
 
 
+        Map<String, Object> map = new HashMap<>();
+
 
+        map.put(QS, genreSetPushService.findBasicDataInfo(QS));
+        map.put(FD, genreSetPushService.findBasicDataInfo(FD));
+        map.put(GF, genreSetPushService.findBasicDataInfo(GF));
 
-        Map<String, Object> map = genreSetPushService.genreSetMap();
 
-        Map<String, Object> qsmap=(Map<String, Object>)map.get("0");
-        Map<String, Object> fdmap=(Map<String, Object>)map.get("-1");
-        Map<String, Object> gfmap=(Map<String, Object>)map.get("-2");
 
 
-         System.out.println(qsmap.size());
+         System.out.println(map.size());