Kaynağa Gözat

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

shilin 1 yıl önce
ebeveyn
işleme
cc7a10f76c

+ 44 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/monitor/MonitorController.java

@@ -71,4 +71,48 @@ public class MonitorController {
 
     }
 
+    @GetMapping("Realtime")
+    @ResponseBody
+    @ApiOperation(value = "实时数据", notes = "实时数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "场站编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "uniformCode", value = "统一编码", required = true, dataType = "string", paramType = "query")
+    })
+    public AjaxResult Realtime(String wpId,String uniformCode) throws Exception {
+
+        List<PowercurveVo> resultList = new ArrayList<>();
+        if (StringUtils.notEmp(wpId)) {
+            resultList = monitorService.Realtimevalue(wpId,uniformCode);
+        }
+
+        if (null != resultList) {
+            return AjaxResult.successData(200, resultList);
+        } else {
+            return AjaxResult.error(500, "操作失败");
+        }
+
+    }
+
+    @GetMapping("Utilizationhours")
+    @ResponseBody
+    @ApiOperation(value = "利用小时", notes = "利用小时")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "场站编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "timetype", value = "统一编码", required = true, dataType = "string", paramType = "query")
+    })
+    public AjaxResult Utilizationhours(String wpId,String timetype) throws Exception {
+
+        List<PowercurveVo> resultList = new ArrayList<>();
+        if (StringUtils.notEmp(wpId)) {
+            resultList = monitorService.hoursvalue(wpId,timetype);
+        }
+
+        if (null != resultList) {
+            return AjaxResult.successData(200, resultList);
+        } else {
+            return AjaxResult.error(500, "操作失败");
+        }
+
+    }
+
 }

+ 32 - 2
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/PowercurveVo.java

@@ -9,6 +9,32 @@ public class PowercurveVo {
 
     private Double llgl;
 
+    private Double gzzs;
+
+    private Integer hours;
+
+    private String name;
+
+    private Double fnlyl;
+
+    private Double rfdl;
+
+    public Double getRfdl() {
+        return rfdl;
+    }
+
+    public void setRfdl(Double rfdl) {
+        this.rfdl = rfdl;
+    }
+
+    public Double getFnlyl() {
+        return fnlyl;
+    }
+
+    public void setFnlyl(Double fnlyl) {
+        this.fnlyl = fnlyl;
+    }
+
     public Double getBzgl() {
         return bzgl;
     }
@@ -56,10 +82,14 @@ public class PowercurveVo {
     public void setName(String name) {
         this.name = name;
     }
+    public Double getGzzs() {
+        return gzzs;
+    }
 
-    private Integer hours;
+    public void setGzzs(Double gzzs) {
+        this.gzzs = gzzs;
+    }
 
-    private String name;
 
 
 }

+ 436 - 184
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/monitor/MonitorService.java

@@ -65,41 +65,41 @@ public class MonitorService {
             }
 
             /**********************************************首页各风电场容量、线路、装机容量、风机台数统计**********************************************************/
-
-            if (!wpId.isEmpty()) {
-                for (ProBasicPowerstation wp : CacheContext.wpls) {
-                    if (wp.getId().equals(wpId)) {
-                        ProBasicPowerstation station = CacheContext.wpmap.get(wpId);
-
-                        String code = station.getId();
-                        List<ProBasicProject> project = CacheContext.projmap.get(code);
-                        Map czxx = new LinkedHashMap();
-                        List<Map> qc = new ArrayList<>();
-
-                        int linenum = 0;
-                        int i = 0;
-
-                        czxx.put("zjrl", station.getCapacity());//装机容量
-                        czxx.put("scbwsj", station.getFirstGridTime());//首次并网时间
-                        czxx.put("zctysj", station.getWholeGridTime());//整场投运时间
-                        czxx.put("dlwz", station.getLongitude());
-                        for (ProBasicProject p : project) {
-                            Map qcls = new LinkedHashMap();
-                            i++;
-                            qcls.put("id", i);
-                            qcls.put("name", p.getName()); //name
-                            qcls.put("value", p.getCapacity() / 1000);//value :45
-                            linenum = linenum + CacheContext.prolinemap.get(p.getId()).size();
-                            qc.add(qcls);
-                        }
-
-                        czxx.put("linenum", linenum);
-                        czxx.put("fjts", station.getJrwindQuantityLd());//风机台数
-                        czxx.put("issue", qc);
-                        map.put("czxx", czxx);
-                    }
-                }
-            }
+//
+//            if (!wpId.isEmpty()) {
+//                for (ProBasicPowerstation wp : CacheContext.wpls) {
+//                    if (wp.getId().equals(wpId)) {
+//                        ProBasicPowerstation station = CacheContext.wpmap.get(wpId);
+//
+//                        String code = station.getId();
+//                        List<ProBasicProject> project = CacheContext.projmap.get(code);
+//                        Map czxx = new LinkedHashMap();
+//                        List<Map> qc = new ArrayList<>();
+//
+//                        int linenum = 0;
+//                        int i = 0;
+//
+//                        czxx.put("zjrl", station.getCapacity());//装机容量
+//                        czxx.put("scbwsj", station.getFirstGridTime());//首次并网时间
+//                        czxx.put("zctysj", station.getWholeGridTime());//整场投运时间
+//                        czxx.put("dlwz", station.getLongitude());
+//                        for (ProBasicProject p : project) {
+//                            Map qcls = new LinkedHashMap();
+//                            i++;
+//                            qcls.put("id", i);
+//                            qcls.put("name", p.getName()); //name
+//                            qcls.put("value", p.getCapacity() / 1000);//value :45
+//                            linenum = linenum + CacheContext.prolinemap.get(p.getId()).size();
+//                            qc.add(qcls);
+//                        }
+//
+//                        czxx.put("linenum", linenum);
+//                        czxx.put("fjts", station.getJrwindQuantityLd());//风机台数
+//                        czxx.put("issue", qc);
+//                        map.put("czxx", czxx);
+//                    }
+//                }
+//            }
             /**********************************************首页各风电场容量、线路、装机容量、风机台数统计**********************************************************/
 
 
@@ -114,31 +114,19 @@ public class MonitorService {
                     String id = wp.getId();
                     if (CacheContext.wpmap.containsKey(id) && id.endsWith("FDC_STA")) {
                         xx.put("name", wp.getName());
+                        xx.put("companyid", wp.getCompanyId());
                         xx.put("zjts", Double.valueOf(wp.getJrwindQuantityLd()));
                         xx.put("zjrl", wp.getJrwindCapacity());
-                        xx.put("scbwsj", wp.getFirstGridTime());
-                        xx.put("zctysj", wp.getWholeGridTime());
-                        if (wp.getLongitude() == null){
-                            xx.put("dlwz",0);
-                        }else {
-                            xx.put("dlwz", wp.getLongitude() + wp.getLatitude());
-                        }
                         double gl = 0.0;
                         ProBasicPowerstationPoint glvalue = proBasicPowerstationPointService.getPowerstationPoint(id, ContantXk.SSZGL);
                         gl = edosUtil.getRealData(glvalue).getPointValueInDouble();
                         xx.put("gl", MathUtil.twoBit(gl));
                     } else if (CacheContext.wpmap.containsKey(id) && id.endsWith("GDC_STA")) {
                         xx.put("name", wp.getName());
+                        xx.put("companyid", wp.getCompanyId());
                         xx.put("zczjts", Double.valueOf(wp.getJrquantityZc()));
                         xx.put("jzzjts", Double.valueOf(wp.getJrquantityJz()));
                         xx.put("zjrl", wp.getJrCapacity());
-                        xx.put("scbwsj", wp.getFirstGridTime());
-                        xx.put("zctysj", wp.getWholeGridTime());
-                        if (wp.getLongitude() == null){
-                            xx.put("dlwz",0);
-                        }else {
-                            xx.put("dlwz", wp.getLongitude() + wp.getLatitude());
-                        }
                         double gl = 0.0;
                         ProBasicPowerstationPoint glvalue = proBasicPowerstationPointService.getPowerstationPoint(id, ContantXk.SSZGL);
                         gl = edosUtil.getRealData(glvalue).getPointValueInDouble();
@@ -300,7 +288,7 @@ public class MonitorService {
                                 fd_slhjnum++;
                                 break;
                             case 12:
-                                fd_wznum ++;
+                                fd_wznum++;
                                 break;
                             case 13:
                                 fd_lxnum++;
@@ -325,13 +313,13 @@ public class MonitorService {
                     mxztmap.put("fd_wznum", fd_wznum);
                     mxztmap.put("fd_lxnum", fd_lxnum);
 
-                    mxztmap.put("fd_djnum",fd_dfnum + fd_sdtjnum);
-                    mxztmap.put("fd_yxnum",fd_zcfdnum + fd_jclyxnum);
-                    mxztmap.put("fd_gznum",fd_gzcnslnum + fd_gztjnum);
-                    mxztmap.put("fd_jxnum",fd_jxtjnum + fd_jxclslnum);
-                    mxztmap.put("fd_xdnum",fd_xdjclnum + fd_tjnum);
-                    mxztmap.put("fd_slnum",fd_slhjnum + fd_sldwnum);
-                    mxztmap.put("fd_lxyznum",fd_wznum + fd_lxnum);
+                    mxztmap.put("fd_djnum", fd_dfnum + fd_sdtjnum);
+                    mxztmap.put("fd_yxnum", fd_zcfdnum + fd_jclyxnum);
+                    mxztmap.put("fd_gznum", fd_gzcnslnum + fd_gztjnum);
+                    mxztmap.put("fd_jxnum", fd_jxtjnum + fd_jxclslnum);
+                    mxztmap.put("fd_xdnum", fd_xdjclnum + fd_tjnum);
+                    mxztmap.put("fd_slnum", fd_slhjnum + fd_sldwnum);
+                    mxztmap.put("fd_lxyznum", fd_wznum + fd_lxnum);
 
                 }
 
@@ -376,7 +364,7 @@ public class MonitorService {
                                 gf_slhjnum++;
                                 break;
                             case 12:
-                                gf_wznum ++;
+                                gf_wznum++;
                                 break;
                             case 13:
                                 gf_lxnum++;
@@ -401,13 +389,13 @@ public class MonitorService {
                     mxztmap.put("gf_wznum", gf_wznum);
                     mxztmap.put("gf_lxnum", gf_lxnum);
 
-                    mxztmap.put("gf_djnum",gf_dfnum + gf_sdtjnum);
-                    mxztmap.put("gf_yxnum",gf_zcfdnum + gf_jclyxnum);
-                    mxztmap.put("gf_gznum",gf_gzcnslnum + gf_gztjnum);
-                    mxztmap.put("gf_jxnum",gf_jxtjnum + gf_jxclslnum);
-                    mxztmap.put("gf_xdnum",gf_xdjclnum + gf_tjnum);
-                    mxztmap.put("gf_slnum",gf_slhjnum + gf_sldwnum);
-                    mxztmap.put("gf_lxyznum",gf_wznum + gf_lxnum);
+                    mxztmap.put("gf_djnum", gf_dfnum + gf_sdtjnum);
+                    mxztmap.put("gf_yxnum", gf_zcfdnum + gf_jclyxnum);
+                    mxztmap.put("gf_gznum", gf_gzcnslnum + gf_gztjnum);
+                    mxztmap.put("gf_jxnum", gf_jxtjnum + gf_jxclslnum);
+                    mxztmap.put("gf_xdnum", gf_xdjclnum + gf_tjnum);
+                    mxztmap.put("gf_slnum", gf_slhjnum + gf_sldwnum);
+                    mxztmap.put("gf_lxyznum", gf_wznum + gf_lxnum);
                 }
 
             }
@@ -435,8 +423,8 @@ public class MonitorService {
             double co2 = 0.0;
             double so2 = 0.0;
 
-            double fdsjgl =0.0;
-            double gfsjgl =0.0;
+            double fdsjgl = 0.0;
+            double gfsjgl = 0.0;
 
             Map<String, Object> zjrlmap = new HashMap<>();
 
@@ -523,7 +511,7 @@ public class MonitorService {
                         //实时功率
                         ProBasicPowerstationPoint fdglvalue = proBasicPowerstationPointService.getPowerstationPoint(wp.getId(), ContantXk.SSZGL);
                         fdsjgl += edosUtil.getRealData(fdglvalue).getPointValueInDouble();
-                    }else {
+                    } else {
                         //实时功率
                         ProBasicPowerstationPoint gfglvalue = proBasicPowerstationPointService.getPowerstationPoint(wp.getId(), ContantXk.SSZGL);
                         gfsjgl += edosUtil.getRealData(gfglvalue).getPointValueInDouble();
@@ -595,8 +583,8 @@ public class MonitorService {
             qt.put("fdsjgl", MathUtil.twoBit(fdsjgl));
             qt.put("gfsjgl", MathUtil.twoBit(gfsjgl));
 
-            qt.put("ylyxs", yfdl / (zjrl/1000));
-            qt.put("nlyxs", nfdl / (zjrl/1000));
+            qt.put("ylyxs", yfdl / (zjrl / 1000));
+            qt.put("nlyxs", nfdl / (zjrl / 1000));
 
             map.put("qt", qt);
             /**********************************************首页安全天数、实时功率及节能减排等信息统计**********************************************************/
@@ -971,7 +959,7 @@ public class MonitorService {
 
             /**********************************************首页清洁能源公司以及系统接入信息展示**********************************************************/
 
-            List<ProBasicCompany> cplist = CacheContext.cpls;
+
             double qjny_fd_zjrl = 0;
             double qjny_gf_zjrl = 0;
             double qjny_fcts = 0;
@@ -1011,98 +999,223 @@ public class MonitorService {
             double qhfdfj_ts = 0;
             double jr_qhfdfj_ts = 0;
 
-            if (!cplist.isEmpty()) {
-                for (ProBasicCompany pg : cplist) {
+            List<ProBasicCompany> cplist = CacheContext.cpls;
 
-                    //清洁能源风电装机容量
-                    qjny_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
-                    //清洁能源光伏装机容量
-                    qjny_gf_zjrl += null != pg.getCapacity() ? pg.getCapacity() : 0.0;
-                    //接入风电装机容量
-                    jr_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
-                    //接入光伏装机容量
-                    jr_gf_zjrl += null != pg.getJrCapacity() ? pg.getJrCapacity() : 0.0;
-                    //清洁能源风场数量
-                    qjny_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
-                    //清洁能源光伏电站数量
-                    qjny_gfts += null != pg.getNumber() ? pg.getNumber() : 0.0;
-                    //接入风场数量
-                    jr_fcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
-                    //接入光伏电站数量
-                    jr_gfts += null != pg.getJrNumber() ? pg.getJrNumber() : 0.0;
-                    //清洁能源风机数量
-                    qjny_fj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
-                    //清洁能源光伏组串数量
-                    qjny_gf_zcts += null != pg.getQuantityZc() ? pg.getQuantityZc() : 0.0;
-                    //清洁能源光伏集中数量
-                    qjny_gf_jzts += null != pg.getQuantityJz() ? pg.getQuantityJz() : 0.0;
-                    //接入风机数量
-                    jr_fj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
-                    //接入光伏组串数量
-                    jr_gf_zcts += null != pg.getJrquantityZc() ? pg.getJrquantityZc() : 0.0;
-                    //接入光伏集中数量
-                    jr_gf_jzts += null != pg.getJrquantityJz() ? pg.getJrquantityJz() : 0.0;
+            Map<String, Double> cblpoint = new LinkedHashMap<>();
+
+            if (wpId.contains("KGDL_FGS")) {
+
+                if (!cplist.isEmpty()) {
+                    for (ProBasicCompany pg : cplist) {
 
-                    if (pg.getId().contains("FLFD")) {
-                        //风电装机容量
-                        flfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                        //清洁能源风电装机容量
+                        qjny_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                        //清洁能源光伏装机容量
+                        qjny_gf_zjrl += null != pg.getCapacity() ? pg.getCapacity() : 0.0;
                         //接入风电装机容量
-                        jr_flfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
-                        //风场数量
-                        flfd_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
+                        jr_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                        //接入光伏装机容量
+                        jr_gf_zjrl += null != pg.getJrCapacity() ? pg.getJrCapacity() : 0.0;
+                        //清洁能源风场数量
+                        qjny_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
+                        //清洁能源光伏电站数量
+                        qjny_gfts += null != pg.getNumber() ? pg.getNumber() : 0.0;
                         //接入风场数量
-                        jr_flfdfcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
-                        //风机数量
-                        flfdfj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
+                        jr_fcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
+                        //接入光伏电站数量
+                        jr_gfts += null != pg.getJrNumber() ? pg.getJrNumber() : 0.0;
+                        //清洁能源风机数量
+                        qjny_fj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
+                        //清洁能源光伏组串数量
+                        qjny_gf_zcts += null != pg.getQuantityZc() ? pg.getQuantityZc() : 0.0;
+                        //清洁能源光伏集中数量
+                        qjny_gf_jzts += null != pg.getQuantityJz() ? pg.getQuantityJz() : 0.0;
                         //接入风机数量
-                        jr_flfdfj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
-                    } else if (pg.getId().contains("GFFD")) {
+                        jr_fj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
+                        //接入光伏组串数量
+                        jr_gf_zcts += null != pg.getJrquantityZc() ? pg.getJrquantityZc() : 0.0;
+                        //接入光伏集中数量
+                        jr_gf_jzts += null != pg.getJrquantityJz() ? pg.getJrquantityJz() : 0.0;
+
+                        if (pg.getId().contains("FLFD")) {
+                            //风电装机容量
+                            flfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                            //接入风电装机容量
+                            jr_flfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                            //风场数量
+                            flfd_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
+                            //接入风场数量
+                            jr_flfdfcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
+                            //风机数量
+                            flfdfj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
+                            //接入风机数量
+                            jr_flfdfj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
+                        } else if (pg.getId().contains("GFFD")) {
+                            //清洁能源光伏装机容量
+                            gffd_zjrl += null != pg.getCapacity() ? pg.getCapacity() : 0.0;
+                            //接入光伏装机容量
+                            jr_gffd_zjrl += null != pg.getJrCapacity() ? pg.getJrCapacity() : 0.0;
+                            //清洁能源光伏电站数量
+                            gffdts += null != pg.getNumber() ? pg.getNumber() : 0.0;
+                            //接入光伏电站数量
+                            jr_gffdts += null != pg.getJrNumber() ? pg.getJrNumber() : 0.0;
+                            //清洁能源光伏组串数量
+                            gffd_zcts += null != pg.getQuantityZc() ? pg.getQuantityZc() : 0.0;
+                            //清洁能源光伏集中数量
+                            gffd_jzts += null != pg.getQuantityJz() ? pg.getQuantityJz() : 0.0;
+                            //接入光伏组串数量
+                            jr_gffd_zcts += null != pg.getJrquantityZc() ? pg.getJrquantityZc() : 0.0;
+                            //接入光伏集中数量
+                            jr_gffd_jzts += null != pg.getJrquantityJz() ? pg.getJrquantityJz() : 0.0;
+
+                        } else if (pg.getId().contains("QH")) {
+
+                            //七和风电装机容量
+                            qhfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                            //接入七和风电装机容量
+                            jr_qhfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
+                            //七和风场数量
+                            qhfd_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
+                            //接入七和风场数量
+                            jr_qhfdfcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
+                            //七和风机数量
+                            qhfdfj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
+                            //接入七和风机数量
+                            jr_qhfdfj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
+                        }
+
+                    }
+                }
+
+                cblpoint.put("qjny_fd_zjrl", StringUtils.round(qjny_fd_zjrl, 2));
+                cblpoint.put("qjny_gf_zjrl", StringUtils.round(qjny_gf_zjrl, 2));
+                cblpoint.put("qjny_zzjrl", StringUtils.round(qjny_gf_zjrl + qjny_fd_zjrl, 2));
+                cblpoint.put("jr_fd_zjrl", StringUtils.round(jr_fd_zjrl, 2));
+                cblpoint.put("jr_gf_zjrl", StringUtils.round(jr_gf_zjrl, 2));
+                cblpoint.put("jr_zzjrl", StringUtils.round(jr_gf_zjrl + jr_fd_zjrl, 2));
+                cblpoint.put("qjny_fcts", StringUtils.round(qjny_fcts, 2));
+                cblpoint.put("qjny_gfts", StringUtils.round(qjny_gfts, 2));
+                cblpoint.put("jr_fcts", StringUtils.round(jr_fcts, 2));
+                cblpoint.put("jr_gfts", StringUtils.round(jr_gfts, 2));
+                cblpoint.put("qjny_fj_ts", StringUtils.round(qjny_fj_ts, 2));
+                cblpoint.put("qjny_gf_zcts", StringUtils.round(qjny_gf_zcts, 2));
+                cblpoint.put("qjny_gf_jzts", StringUtils.round(qjny_gf_jzts, 2));
+                cblpoint.put("jr_fj_ts", StringUtils.round(jr_fj_ts, 2));
+                cblpoint.put("jr_gf_zcts", StringUtils.round(jr_gf_zcts, 2));
+                cblpoint.put("jr_gf_jzts", StringUtils.round(jr_gf_jzts, 2));
+
+                //风力发电公司
+                cblpoint.put("flfd_zjrl", StringUtils.round(flfd_zjrl, 2));
+                cblpoint.put("jr_flfd_zjrl", StringUtils.round(jr_flfd_zjrl, 2));
+                cblpoint.put("flfd_fcts", StringUtils.round(flfd_fcts, 2));
+                cblpoint.put("jr_flfdfcts", StringUtils.round(jr_flfdfcts, 2));
+                cblpoint.put("flfdfj_ts", StringUtils.round(flfdfj_ts, 2));
+                cblpoint.put("jr_flfdfj_ts", StringUtils.round(jr_flfdfj_ts, 2));
+
+                //光伏发电公司
+                cblpoint.put("gffd_zjrl", StringUtils.round(gffd_zjrl, 2));
+                cblpoint.put("jr_gffd_zjrl", StringUtils.round(jr_gffd_zjrl, 2));
+                cblpoint.put("gffdts", StringUtils.round(gffdts, 2));
+                cblpoint.put("jr_gffdts", StringUtils.round(jr_gffdts, 2));
+                cblpoint.put("gffd_jzts", StringUtils.round(gffd_jzts, 2));
+                cblpoint.put("gffd_zcts", StringUtils.round(gffd_zcts, 2));
+                cblpoint.put("jr_gffd_zcts", StringUtils.round(jr_gffd_zcts, 2));
+                cblpoint.put("jr_gffd_jzts", StringUtils.round(jr_gffd_jzts, 2));
+
+                //七和发电公司
+                cblpoint.put("qhfd_zjrl", StringUtils.round(qhfd_zjrl, 2));
+                cblpoint.put("jr_qhfd_zjrl", StringUtils.round(jr_qhfd_zjrl, 2));
+                cblpoint.put("qhfd_fcts", StringUtils.round(qhfd_fcts, 2));
+                cblpoint.put("jr_qhfdfcts", StringUtils.round(jr_qhfdfcts, 2));
+                cblpoint.put("qhfdfj_ts", StringUtils.round(qhfdfj_ts, 2));
+                cblpoint.put("jr_qhfdfj_ts", StringUtils.round(jr_qhfdfj_ts, 2));
+
+            } else if (wpId.contains("SXJ_RGN")) {
+
+                List<ProBasicCompany> sxj_rgn = cplist.stream().filter(i -> i.getRegionId().equals("SXJ_RGN")).collect(Collectors.toList());
+
+                if (!cplist.isEmpty()) {
+
+                    for (ProBasicCompany pg : sxj_rgn) {
+
+                        //清洁能源风电装机容量
+                        qjny_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
                         //清洁能源光伏装机容量
-                        gffd_zjrl += null != pg.getCapacity() ? pg.getCapacity() : 0.0;
+                        qjny_gf_zjrl += null != pg.getCapacity() ? pg.getCapacity() : 0.0;
+                        //接入风电装机容量
+                        jr_fd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
                         //接入光伏装机容量
-                        jr_gffd_zjrl += null != pg.getJrCapacity() ? pg.getJrCapacity() : 0.0;
+                        jr_gf_zjrl += null != pg.getJrCapacity() ? pg.getJrCapacity() : 0.0;
+                        //清洁能源风场数量
+                        qjny_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
                         //清洁能源光伏电站数量
-                        gffdts += null != pg.getNumber() ? pg.getNumber() : 0.0;
+                        qjny_gfts += null != pg.getNumber() ? pg.getNumber() : 0.0;
+                        //接入风场数量
+                        jr_fcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
                         //接入光伏电站数量
-                        jr_gffdts += null != pg.getJrNumber() ? pg.getJrNumber() : 0.0;
+                        jr_gfts += null != pg.getJrNumber() ? pg.getJrNumber() : 0.0;
+                        //清洁能源风机数量
+                        qjny_fj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
                         //清洁能源光伏组串数量
-                        gffd_zcts += null != pg.getQuantityZc() ? pg.getQuantityZc() : 0.0;
+                        qjny_gf_zcts += null != pg.getQuantityZc() ? pg.getQuantityZc() : 0.0;
                         //清洁能源光伏集中数量
-                        gffd_jzts += null != pg.getQuantityJz() ? pg.getQuantityJz() : 0.0;
+                        qjny_gf_jzts += null != pg.getQuantityJz() ? pg.getQuantityJz() : 0.0;
+                        //接入风机数量
+                        jr_fj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
                         //接入光伏组串数量
-                        jr_gffd_zcts += null != pg.getJrquantityZc() ? pg.getJrquantityZc() : 0.0;
+                        jr_gf_zcts += null != pg.getJrquantityZc() ? pg.getJrquantityZc() : 0.0;
                         //接入光伏集中数量
-                        jr_gffd_jzts += null != pg.getJrquantityJz() ? pg.getJrquantityJz() : 0.0;
-
-                    } else if (pg.getId().contains("QH")) {
-
-                        //七和风电装机容量
-                        qhfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
-                        //接入七和风电装机容量
-                        jr_qhfd_zjrl += null != pg.getWindCapacity() ? pg.getWindCapacity() : 0.0;
-                        //七和风场数量
-                        qhfd_fcts += null != pg.getWindNumber() ? pg.getWindNumber() : 0.0;
-                        //接入七和风场数量
-                        jr_qhfdfcts += null != pg.getJrWindNumber() ? pg.getJrWindNumber() : 0.0;
-                        //七和风机数量
-                        qhfdfj_ts += null != pg.getWindQuantityLd() ? pg.getWindQuantityLd() : 0.0;
-                        //接入七和风机数量
-                        jr_qhfdfj_ts += null != pg.getJrwindQuantityLd() ? pg.getJrwindQuantityLd() : 0.0;
-                    }
+                        jr_gf_jzts += null != pg.getJrquantityJz() ? pg.getJrquantityJz() : 0.0;
 
+                    }
+                }
+                cblpoint.put("qjny_fd_zjrl", StringUtils.round(qjny_fd_zjrl, 2));
+                cblpoint.put("qjny_gf_zjrl", StringUtils.round(qjny_gf_zjrl, 2));
+                cblpoint.put("qjny_zzjrl", StringUtils.round(qjny_gf_zjrl + qjny_fd_zjrl, 2));
+                cblpoint.put("jr_fd_zjrl", StringUtils.round(jr_fd_zjrl, 2));
+                cblpoint.put("jr_gf_zjrl", StringUtils.round(jr_gf_zjrl, 2));
+                cblpoint.put("jr_zzjrl", StringUtils.round(jr_gf_zjrl + jr_fd_zjrl, 2));
+                cblpoint.put("qjny_fcts", StringUtils.round(qjny_fcts, 2));
+                cblpoint.put("qjny_gfts", StringUtils.round(qjny_gfts, 2));
+                cblpoint.put("jr_fcts", StringUtils.round(jr_fcts, 2));
+                cblpoint.put("jr_gfts", StringUtils.round(jr_gfts, 2));
+                cblpoint.put("qjny_fj_ts", StringUtils.round(qjny_fj_ts, 2));
+                cblpoint.put("qjny_gf_zcts", StringUtils.round(qjny_gf_zcts, 2));
+                cblpoint.put("qjny_gf_jzts", StringUtils.round(qjny_gf_jzts, 2));
+                cblpoint.put("jr_fj_ts", StringUtils.round(jr_fj_ts, 2));
+                cblpoint.put("jr_gf_zcts", StringUtils.round(jr_gf_zcts, 2));
+                cblpoint.put("jr_gf_jzts", StringUtils.round(jr_gf_jzts, 2));
+            }
+            for (ProBasicPowerstation wp : wplist) {
+                if (wp.getId().equals(wpId)) {
+                    //清洁能源风电装机容量
+                    qjny_fd_zjrl += null != wp.getWindCapacity() ? wp.getWindCapacity() : 0.0;
+                    //清洁能源光伏装机容量
+                    qjny_gf_zjrl += null != wp.getCapacity() ? wp.getCapacity() : 0.0;
+                    //接入风电装机容量
+                    jr_fd_zjrl += null != wp.getWindCapacity() ? wp.getWindCapacity() : 0.0;
+                    //接入光伏装机容量
+                    jr_gf_zjrl += null != wp.getJrCapacity() ? wp.getJrCapacity() : 0.0;
+                    //清洁能源风机数量
+                    qjny_fj_ts += null != wp.getWindQuantityLd() ? wp.getWindQuantityLd() : 0.0;
+                    //清洁能源光伏组串数量
+                    qjny_gf_zcts += null != wp.getQuantityZc() ? wp.getQuantityZc() : 0.0;
+                    //清洁能源光伏集中数量
+                    qjny_gf_jzts += null != wp.getQuantityJz() ? wp.getQuantityJz() : 0.0;
+                    //接入风机数量
+                    jr_fj_ts += null != wp.getJrwindQuantityLd() ? wp.getJrwindQuantityLd() : 0.0;
+                    //接入光伏组串数量
+                    jr_gf_zcts += null != wp.getJrquantityZc() ? wp.getJrquantityZc() : 0.0;
+                    //接入光伏集中数量
+                    jr_gf_jzts += null != wp.getJrquantityJz() ? wp.getJrquantityJz() : 0.0;
                 }
             }
-            Map<String, Double> cblpoint = new LinkedHashMap<>();
             cblpoint.put("qjny_fd_zjrl", StringUtils.round(qjny_fd_zjrl, 2));
             cblpoint.put("qjny_gf_zjrl", StringUtils.round(qjny_gf_zjrl, 2));
             cblpoint.put("qjny_zzjrl", StringUtils.round(qjny_gf_zjrl + qjny_fd_zjrl, 2));
             cblpoint.put("jr_fd_zjrl", StringUtils.round(jr_fd_zjrl, 2));
             cblpoint.put("jr_gf_zjrl", StringUtils.round(jr_gf_zjrl, 2));
             cblpoint.put("jr_zzjrl", StringUtils.round(jr_gf_zjrl + jr_fd_zjrl, 2));
-            cblpoint.put("qjny_fcts", StringUtils.round(qjny_fcts, 2));
-            cblpoint.put("qjny_gfts", StringUtils.round(qjny_gfts, 2));
-            cblpoint.put("jr_fcts", StringUtils.round(jr_fcts, 2));
-            cblpoint.put("jr_gfts", StringUtils.round(jr_gfts, 2));
             cblpoint.put("qjny_fj_ts", StringUtils.round(qjny_fj_ts, 2));
             cblpoint.put("qjny_gf_zcts", StringUtils.round(qjny_gf_zcts, 2));
             cblpoint.put("qjny_gf_jzts", StringUtils.round(qjny_gf_jzts, 2));
@@ -1110,31 +1223,6 @@ public class MonitorService {
             cblpoint.put("jr_gf_zcts", StringUtils.round(jr_gf_zcts, 2));
             cblpoint.put("jr_gf_jzts", StringUtils.round(jr_gf_jzts, 2));
 
-            //风力发电公司
-            cblpoint.put("flfd_zjrl", StringUtils.round(flfd_zjrl, 2));
-            cblpoint.put("jr_flfd_zjrl", StringUtils.round(jr_flfd_zjrl, 2));
-            cblpoint.put("flfd_fcts", StringUtils.round(flfd_fcts, 2));
-            cblpoint.put("jr_flfdfcts", StringUtils.round(jr_flfdfcts, 2));
-            cblpoint.put("flfdfj_ts", StringUtils.round(flfdfj_ts, 2));
-            cblpoint.put("jr_flfdfj_ts", StringUtils.round(jr_flfdfj_ts, 2));
-
-            //光伏发电公司
-            cblpoint.put("gffd_zjrl", StringUtils.round(gffd_zjrl, 2));
-            cblpoint.put("jr_gffd_zjrl", StringUtils.round(jr_gffd_zjrl, 2));
-            cblpoint.put("gffdts", StringUtils.round(gffdts, 2));
-            cblpoint.put("jr_gffdts", StringUtils.round(jr_gffdts, 2));
-            cblpoint.put("gffd_jzts", StringUtils.round(gffd_jzts, 2));
-            cblpoint.put("gffd_zcts", StringUtils.round(gffd_zcts, 2));
-            cblpoint.put("jr_gffd_zcts", StringUtils.round(jr_gffd_zcts, 2));
-            cblpoint.put("jr_gffd_jzts", StringUtils.round(jr_gffd_jzts, 2));
-
-            //七和发电公司
-            cblpoint.put("qhfd_zjrl", StringUtils.round(qhfd_zjrl, 2));
-            cblpoint.put("jr_qhfd_zjrl", StringUtils.round(jr_qhfd_zjrl, 2));
-            cblpoint.put("qhfd_fcts", StringUtils.round(qhfd_fcts, 2));
-            cblpoint.put("jr_qhfdfcts", StringUtils.round(jr_qhfdfcts, 2));
-            cblpoint.put("qhfdfj_ts", StringUtils.round(qhfdfj_ts, 2));
-            cblpoint.put("jr_qhfdfj_ts", StringUtils.round(jr_qhfdfj_ts, 2));
 
             map.put("cblpoint", cblpoint);
 
@@ -1155,22 +1243,6 @@ public class MonitorService {
         Date endDate = com.gyee.common.util.DateUtils.getCurrentDate();   //当前时间
         List<PowercurveVo> vos = new ArrayList<PowercurveVo>();
 
-//        //初始化场站信息
-//        List<ProBasicPowerstation> wplist = new ArrayList<>();
-//        List<ProBasicProject> projects = new ArrayList<>();
-//        List<ProBasicLine> lines = new ArrayList<>();
-//
-//        if (CacheContext.wpmapls.containsKey(wpId)) {
-//            wplist = CacheContext.wpmapls.get(wpId);
-//        } else {
-//            if (CacheContext.projmap.containsKey(wpId)){
-//                projects = CacheContext.projmap.get(wpId);
-//            }else {
-//                if (CacheContext.prolinemap.containsKey(wpId)){
-//                    lines = CacheContext.prolinemap.get(wpId);
-//                }
-//            }
-//        }
 
         for (int i = 0; i < 24; i++) {
             PowercurveVo vo = new PowercurveVo();
@@ -1183,8 +1255,8 @@ public class MonitorService {
             vos.add(vo);
         }
 
-        ProBasicPowerstationPoint bzgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.BZGL);
-        ProBasicPowerstationPoint llgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.LLGL);
+        ProBasicPowerstationPoint bzgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSZBZGL);
+        ProBasicPowerstationPoint llgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSZLLGL);
         ProBasicPowerstationPoint sjgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSZGL);
 
         List<PointData> bzglls = edosUtil.getHistoryDatasSnap(bzgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
@@ -1212,6 +1284,186 @@ public class MonitorService {
         return vos;
     }
 
+    //实时数据
+    public List<PowercurveVo> Realtimevalue(String wpId, String uniformCode) throws Exception {
+
+        Date beginDate = com.gyee.common.util.DateUtils.getSamedayZero();   //当日零点
+        Date endDate = com.gyee.common.util.DateUtils.getCurrentDate();   //当前时间
+        List<PowercurveVo> vos = new ArrayList<PowercurveVo>();
+
+
+        for (int i = 0; i < 24; i++) {
+            PowercurveVo vo = new PowercurveVo();
+            vo.setLlgl(0.0); //理论功率
+            vo.setBzgl(0.0); //保证功率
+            vo.setSjgl(0.0); //实际功率
+            vo.setSsfs(0.0); //实时风速
+            vo.setGzzs(0.0); //光照指数
+            vo.setFnlyl(0.0); //风能利用率
+            vo.setHours(i);  //时间戳
+            vo.setName(wpId);
+            vos.add(vo);
+        }
+
+        ProBasicPowerstationPoint ssfs = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSPJFS);
+        ProBasicPowerstationPoint llgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSZLLGL);
+        ProBasicPowerstationPoint sjgl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.SSZGL);
+        ProBasicPowerstationPoint gzzs = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.RPJGZD);
+        ProBasicPowerstationPoint fnlyl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.FNLYL);
+
+        if (uniformCode.contains("SSPJFS")) {
+
+            List<PointData> ssfsls = edosUtil.getHistoryDatasSnap(ssfs, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+            double temp1 = 0;
+            for (int i = 0; i < ssfsls.size(); i++) {
+                temp1 = ssfsls.get(i).getPointValueInDouble();
+                vos.get(i).setSjgl(StringUtils.round(temp1, 2));
+            }
+        }
+
+        if (uniformCode.contains("SSZLLGL")) {
+            List<PointData> llglls = edosUtil.getHistoryDatasSnap(llgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+            double temp2 = 0;
+            for (int i = 0; i < llglls.size(); i++) {
+                temp2 = llglls.get(i).getPointValueInDouble();
+                vos.get(i).setLlgl(StringUtils.round(temp2, 2));
+            }
+        }
+
+        if (uniformCode.contains("SSZGL")) {
+            List<PointData> sjglls = edosUtil.getHistoryDatasSnap(sjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+            double temp3 = 0;
+            for (int i = 0; i < sjglls.size(); i++) {
+                temp3 = sjglls.get(i).getPointValueInDouble();
+                vos.get(i).setSjgl(StringUtils.round(temp3, 2));
+            }
+        }
+
+        if (uniformCode.contains("RPJGZD")) {
+            List<PointData> gzzsls = edosUtil.getHistoryDatasSnap(gzzs, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+            double temp4 = 0;
+            for (int i = 0; i < gzzsls.size(); i++) {
+                temp4 = gzzsls.get(i).getPointValueInDouble();
+                vos.get(i).setGzzs(StringUtils.round(temp4, 2));
+            }
+        }
+        if (uniformCode.contains("FNLYL")) {
+            List<PointData> fnlylls = edosUtil.getHistoryDatasSnap(fnlyl, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+            double temp5 = 0;
+            for (int i = 0; i < fnlylls.size(); i++) {
+                temp5 = fnlylls.get(i).getPointValueInDouble();
+                vos.get(i).setFnlyl(StringUtils.round(temp5, 2));
+            }
+        }
+
+        return vos;
+    }
+
+    //利用小时
+    public List<PowercurveVo> hoursvalue(String wpId, String timetype) throws Exception {
+
+//        Date year = com.gyee.common.util.DateUtils.getYearFirstZero();   //当年第一天0点
+//        Integer endDate = com.gyee.common.util.DateUtils.getCurrentYear();   //当前时间
+//
+//        Calendar cal = Calendar.getInstance();
+//        cal.setTime(new Date());
+//        Integer year = cal.get(Calendar.YEAR) - 2;
+//        Integer month = cal.get(Calendar.MONTH) + 1;
+
+        SimpleDateFormat format = new SimpleDateFormat("yyyy");
+
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.YEAR, -2);
+        Date beginDate = cal.getTime();
+
+        Calendar call = Calendar.getInstance();
+        cal.add(Calendar.YEAR, 1);
+
+        Date endDate = call.getTime();
+
+        double zjrl = 0.0;
+
+        Map<String, Object> zjrlmap = new HashMap<>();
+        List<PowercurveVo> vos = new ArrayList<PowercurveVo>();
+        if (wpId.endsWith(QS) || wpId.endsWith(FD) || wpId.endsWith(GF) || CacheContext.wpmapls.containsKey(wpId)) {
+
+            List<ProBasicPowerstation> wplist = new ArrayList<>();
+            if (CacheContext.wpmapls.containsKey(wpId)) {
+                wplist = CacheContext.wpmapls.get(wpId);
+            }
+            for (ProBasicPowerstation wp : CacheContext.wpls) {
+                if (wpId.contains(FD)) {
+                    if (wp.getId().endsWith("FDC_STA")) {
+                        wplist.add(wp);
+                    }
+                } else if (wpId.contains(GF)) {
+                    if (wp.getId().endsWith("GDC_STA")) {
+                        wplist.add(wp);
+                    }
+                } else if (wpId.contains(QS)) {
+                    wplist.add(wp);
+                }
+            }
+
+
+            if (wpId.contains(QS) || wpId.contains(FD) || wpId.contains(GF)) {
+                for (ProBasicPowerstation wp : wplist) {
+                    zjrl += wp.getJrCapacity() + wp.getJrwindCapacity();
+                }
+            } else {
+                for (ProBasicPowerstation wp : CacheContext.wpls) {
+                    if (wpId.equals(wp.getId())) {
+                        zjrl += wp.getJrCapacity() + wp.getJrwindCapacity();
+                    }
+                }
+                for (ProBasicProject pj : CacheContext.pjls) {
+                    if (wpId.equals(pj.getId())) {
+                        zjrl += pj.getCapacity();
+                    }
+                }
+                for (ProBasicLine ln : CacheContext.lnls) {
+                    if (wpId.equals(ln.getId())) {
+                        zjrl += ln.getCapacity();
+                    }
+                }
+
+            }
+
+            zjrlmap.put("zjrl", zjrl);
+
+
+            for (int i = 0; i < 24; i++) {
+                PowercurveVo vo = new PowercurveVo();
+                vo.setLlgl(0.0); //理论功率
+                vo.setRfdl(0.0); //日发电量
+                vo.setBzgl(0.0); //保证功率
+                vo.setSjgl(0.0); //实际功率
+                vo.setSsfs(0.0); //实时风速
+                vo.setGzzs(0.0); //光照指数
+                vo.setFnlyl(0.0); //风能利用率
+                vo.setHours(i);  //时间戳
+                vo.setName(wpId);
+                vos.add(vo);
+            }
+
+            ProBasicPowerstationPoint rfdl = proBasicPowerstationPointService.getPowerstationPoint(wpId, ContantXk.RFDL);
+
+            if (timetype.contains("year")) {
+
+                List<PointData> rfdlls = edosUtil.getHistoryDatasSnap(rfdl, beginDate.getTime() / 1000, endDate.getTime() / 1000, null, 3600L);
+
+                double temp1 = 0;
+                for (int i = 0; i < rfdlls.size(); i++) {
+                    temp1 = rfdlls.get(i).getPointValueInDouble();
+                    vos.get(i).setSjgl(StringUtils.round(temp1, 2));
+                }
+
+            }
+        }
+        return vos;
+    }
+
+
     /**********************************************计划电量统计**********************************************************/
     private void setPlanInfoByType
     (Map<String, Map<String, Double>> gxkmap, List<ProBasicProjectPlan> planls, String wpId) {