Browse Source

权限管理功能模块升级修改相关功能

shilin 3 years ago
parent
commit
b8143c7c6a

+ 3 - 1
pom.xml

@@ -240,6 +240,8 @@
 			<scope>system</scope>
 			<systemPath>${basedir}/lib/ueditor-1.1.2.jar</systemPath>
 		</dependency>
+
+
 		<!--quartz依赖-->
 		<dependency>
 			<groupId>org.quartz-scheduler</groupId>
@@ -254,7 +256,7 @@
 		<dependency>
 			<groupId>com.alibaba</groupId>
 			<artifactId>fastjson</artifactId>
-			<version>1.2.7</version>
+			<version>1.2.17</version>
 		</dependency>
 		<dependency>
 			<groupId>org.projectlombok</groupId>

+ 1 - 1
src/main/java/com/gyee/frame/common/cache/RedisConfig.java

@@ -45,7 +45,7 @@ public class RedisConfig {
         redisStandaloneConfiguration.setDatabase(database);
         redisStandaloneConfiguration.setPassword(pwd);
         redisStandaloneConfiguration.setPort(port);
-        redisStandaloneConfiguration.setDatabase(2);
+        redisStandaloneConfiguration.setDatabase(1);
         JedisClientConfiguration.JedisPoolingClientConfigurationBuilder jpcb = (JedisClientConfiguration.JedisPoolingClientConfigurationBuilder) JedisClientConfiguration.builder();
         jpcb.poolConfig(jedisPoolConfig);
         JedisClientConfiguration jedisClientConfiguration = jpcb.build();

+ 2 - 1
src/main/java/com/gyee/frame/common/conf/AjaxStatus.java

@@ -2,7 +2,8 @@ package com.gyee.frame.common.conf;
 
 public enum  AjaxStatus {
     success(200),
-    error(500);
+    error(500),
+    logineroor(501);
     public int code;
     AjaxStatus(int c) {
         code = c;

+ 392 - 0
src/main/java/com/gyee/frame/common/spring/ConstantTR.java

@@ -0,0 +1,392 @@
+package com.gyee.frame.common.spring;
+
+/**
+ * 
+ * 
+ * 项目名称:nxfd 类名称:Constant 类描述: 创建人:石林 创建时间:2014-3-4 上午10:07:03 修改人:shilinno1
+ * 修改时间:2014-3-4 上午10:07:03 修改备注:
+ * 
+ * @version
+ * 
+ */
+public class ConstantTR {
+
+	public static final String QSZSWDL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0136"; // 全省上网电量
+	public static final String AQTS = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0220"; // 全省安全天数
+	public static final String QSZZGL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0135"; // 全省总功率
+	public static final String QSZRFDL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0088"; // 全省日累计发电量
+	public static final String QSZYFDL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0146"; // 全省月累计发电量
+	public static final String QSZNFDL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0037"; // 全省年累计发电量
+
+	public static final String FCRFDL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0088"; // 风场日累计发电量
+	public static final String FCYFDL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0146"; // 风场月累计发电量
+	public static final String FCNFDL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0037"; // 风场年累计发电量
+	public static final String GFRFDL = "JSFW.NX_GD_GDC_XX_XX_XXX_XXX_CI0088"; // 光伏日累计发电量
+	public static final String GFYFDL = "JSFW.NX_GD_GDC_XX_XX_XXX_XXX_CI0146"; // 光伏月累计发电量
+	public static final String GFNFDL = "JSFW.NX_GD_GDC_XX_XX_XXX_XXX_CI0037"; // 光伏年累计发电量
+	public static final String JPEYHT = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0216"; // 减排二氧化碳
+	public static final String JYBM = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0217"; // 节约标煤
+	public static final String JPEYHL = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0218"; // 减排二氧化硫
+	public static final String JYS = "JSFW.NX_GD_XXX_XX_XX_XXX_XXX_CI0219"; // 节约水
+	public static final String FCSWDL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0136"; // 风场上网电量
+	public static final String FCZGL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0135"; // 风场总功率
+	public static final String FCFS = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0134"; // 风场风速
+	public static final String GFSWDL = "JSFW.NX_GD_GDC_XX_XX_XXX_XXX_CI0136"; // 光伏上网电量
+	public static final String GFZGL = "JSFW.NX_GD_GDC_XX_XX_XXX_XXX_CI0135"; // 光伏总功率
+	public static final String FCQFDL = "JSFW.NX_GD_FDC_XX_XX_XXX_XXX_CI0110"; // 风电日欠发损失电
+
+	
+	
+	/******************************************** 麻黄山风电场 *****************************************/
+	public static final String JSFW_MHSFJZD ="MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0215"; //麻黄山风机是否中断
+	public static final String JSFW_MHSDQZD ="MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0216";//麻黄山电气是否中断
+	public static final String JSFW_MHSCFTZD ="MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0218";//麻黄山测风塔是否中断
+	public static final String JSFW_MHSDJLZD ="MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0217";//麻黄山电计量是否中断
+	public static final String JSFW_MHSAGCZD ="MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0219";//麻黄山AGC是否中断
+	
+	
+	
+	
+	
+	
+	public static final String JSFW_MHRFDLB = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0088"; // 麻黄山日发电量
+	public static final String JSFW_MHYFDLB = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0146"; // 麻黄山月发电量
+	public static final String JSFW_MHNFDLB = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0037"; // 麻黄山年发电量
+	public static final String JSFW_MHSWDLB = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0136"; // 麻黄山上网电量
+	public static final String JSFW_MHSSZGL = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0135"; // 麻黄山总功率
+	public static final String JSFW_MHSSFS = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0134"; // 麻黄山风速
+	public static final String JSFW_MHRQFSS = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0110"; // 麻黄山日欠发损失电量
+	public static final String MHSFGL_AI000305 = "MHSFGL.NX_GD_MHSF_YC_P1_L1_001_FGLTEM"; // 麻黄山测风塔温度
+	public static final String MHSFGL_AI000306 = "MHSFGL.NX_GD_MHSF_YC_P1_L1_001_FGLHUM"; // 麻黄山测风塔湿度
+	public static final String MHSFGL_AI000307 = "MHSFGL.NX_GD_MHSF_YC_P1_L1_001_FGLPRE"; // 麻黄山测风塔压强
+	public static final String MHSDQ_DI000006 = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0006"; // 111断路器位置
+	public static final String MHSDQ_DI000141 = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0141"; // 301断路器合闸位置
+	public static final String MHSDQ_DI000363 = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0363"; // [风场Ⅰ线9611CS]断路器位置
+	public static final String MHSDQ_DI000423 = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0423"; // [风场Ⅱ线9611CS]断路器位置
+	public static final String MHSDQ_DI000483 = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0483"; // [风场Ⅲ线9611CS]断路器位置
+
+	public static final String MHSDQ_101DLQ = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0006"; // 101断路器位置
+	public static final String MHSDQ_102DLQ = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0006"; // 102断路器位置
+	public static final String MHSDQ_302DLQ = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0141"; // 302断路器合闸位置
+	public static final String MHSDQ_321DLQ = "MHSDQ.NX_GD_MHSF_DQ_P1_L1_001_DI0985"; // 321断路器合闸位置
+
+	public static final String MHSFGL_AI000314 = "MHSFGL.NX_GD_MHSF_YC_P1_L1_001_FGLS70";// 麻黄山70m风速
+	public static final String MHSFGL_AI000315 = "MHSFGL.NX_GD_MHSF_YC_P1_L1_001_FGLD70";// 麻黄山70m风向
+	/******************************************** 麻黄山风电场 *****************************************/
+
+	/******************************************** 石板泉风电场 *****************************************/
+	public static final String JSFW_SBQFJZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0215"; //石板泉风机是否中断
+	public static final String JSFW_SBQDQZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0216";//石板泉电气是否中断
+	public static final String JSFW_SBQCFTZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0218";//石板泉测风塔是否中断
+	public static final String JSFW_SBQDJLZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0217";//石板泉电计量是否中断
+	public static final String JSFW_SBQAGCZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0219";//石板泉AGC是否中断
+
+	
+	
+	
+	
+	
+	
+	public static final String JSFW_SBRFDLB = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0088"; // 石板泉日发电量
+	public static final String JSFW_SBYFDLB = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0146"; // 石板泉月发电量
+	public static final String JSFW_SBNFDLB = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0037"; // 石板泉年发电量
+	public static final String JSFW_SBSWDLB = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0136"; // 石板泉上网电量
+	public static final String JSFW_SBSSZGL = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0135"; // 石板泉总功率
+	public static final String JSFW_SBSSFS = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0134"; // 石板泉风速
+	public static final String JSFW_SBRQFSS = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0110"; // 石板泉日欠发损失电量
+	public static final String SBQFGL_AI000305 = "SBQFJ.NX_GD_SBQF_FJ_P4_L9_100_AI0165"; // 石板泉测风塔温度
+	
+//	public static final String SBQFGL_AI000305 = "SBQFGL.NX_GD_SBQF_YC_P1_L1_001_FGLTEM"; // 石板泉测风塔温度
+
+	public static final String SBQFGL_AI000319 = "SBQFGL.NX_GD_SBQF_YC_P1_L1_001_FGLHUM"; // 石板泉测风塔湿度
+	public static final String SBQFGL_AI000320 = "SBQFGL.NX_GD_SBQF_YC_P1_L1_001_FGLPRE"; // 石板泉测风塔压强
+
+	public static final String SBQDQ_DI000001 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0001"; // 1#进线路测控装置断路器111
+	public static final String SBQDQ_DI000161 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0161"; // 1号主变测控装置高压侧断路器101
+	public static final String SBQDQ_DI000175 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0175"; // 1号主变测控装置低压侧断路器301
+	public static final String SBQDQ_DI000966 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0966"; // 35kV1A出线保护断路器312
+	public static final String SBQDQ_DI001030 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1030"; // 35kV1B出线保护断路器313
+	public static final String SBQDQ_DI001158 = "SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1158"; // 35kV1C出线保护断路器314
+
+	public static final String SBQDQ_DI000081 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0081"; // 2#进线路测控装置断路器121合闸
+	public static final String SBQDQ_DI000241 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0241"; // 2号主变测控装置高压侧断路器102合闸
+	public static final String SBQDQ_DI000255 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0255"; // 2号主变测控装置低压侧断路器302合位
+	public static final String SBQDQ_DI001419 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1419"; // 35kV2A出线保护321断路器合位
+	public static final String SBQDQ_DI001483 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1483"; // 35kV2B出线保护322断路器合位
+	public static final String SBQDQ_DI001611 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1611"; // 35kV2C出线保护323断路器合位
+
+	public static final String SBQDQ_DI002536 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2569"; // 35kV1A出线保护断路器331
+	public static final String SBQDQ_DI002600 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2633"; // 35kV1B出线保护断路器332
+	public static final String SBQDQ_DI002915 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2915"; // 2#进线路测控装置断路器151合闸
+	public static final String SBQDQ_DI000425 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0425"; // 2号主变测控装置高压侧断路器105合闸
+	// public static final String SBQDQ_DI000255="SBQDQ_DI000255";
+	// //2号主变测控装置低压侧断路器305合位
+	public static final String SBQDQ_DI003272 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3305"; // 35kV2A出线保护351断路器合位
+	public static final String SBQDQ_DI003336 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3369"; // 35kV2B出线保护352断路器合位
+	public static final String SBQDQ_DI003400 = "SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3433"; // 35kV2C出线保护353断路器合位
+
+	public static final String SBQFGL_AI000327 = "SBQFGL.NX_GD_SBQF_YC_P1_L1_001_FGLS70";// 石板泉70m风速
+	public static final String SBQFGL_AI000328 = "SBQFGL.NX_GD_SBQF_YC_P1_L1_001_FGLD70";// 石板泉70m风向
+	/******************************************* 石板泉风电场 *****************************************/
+
+	/******************************************** 青山风电场 *****************************************/
+	public static final String JSFW_QSFJZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0215"; //石板泉风机是否中断
+	public static final String JSFW_QSDQZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0216";//石板泉电气是否中断
+	public static final String JSFW_QSCFTZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0218";//石板泉测风塔是否中断
+	public static final String JSFW_QSDJLZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0217";//石板泉电计量是否中断
+	public static final String JSFW_QSAGCZD ="SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0219";//石板泉AGC是否中断
+
+	
+	
+	
+	
+	
+	
+	
+	public static final String QSRFDL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0088"; // 青山日发电量
+	public static final String QSYFDL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0146"; // 青山月发电量
+	public static final String QSNFDL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0037"; // 青山年发电量
+	public static final String QSSWDL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0136"; // 青山上网电量
+	public static final String QSZGL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0135"; // 青山总功率
+	public static final String QSFS = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0134"; // 青山风速
+	public static final String QSQFDL = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0110"; // 青山日欠发损失电量
+	public static final String QSWD = "QSFGL.NX_GD_QSF_YC_P1_L1_001_CFT019"; // 青山测风塔温度
+	// public static final String QSWD = "QSFGL_AI000323"; // 青山测风塔湿度
+	public static final String QSFGL_AI000324 = "QSFGL.NX_GD_QSF_YC_P1_L1_001_CFT020"; // 青山测风塔压强
+	public static final String QSPJFS = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0134"; // 青山平均风速
+
+	public static final String QSDQ_DI000377 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI0377"; // 110kV线路测控隔刀111-1分位
+	public static final String QSDQ_DI000530 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI0530"; // 1#主变测控断路器101分
+	public static final String QSDQ_DI000858 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI0858"; // 2#主变测控断路器102
+	public static final String QSDQ_DI000193 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI0193"; // 35kV公用测控1#主变35KV手车分
+	public static final String QSDQ_DI000195 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI0195"; // 35kV公用测控2#主变35KV手车分
+	public static final String QSDQ_DI001186 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1186"; // 35kVI段集线线路1A311断路器
+	public static final String QSDQ_DI001232 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1232"; // 35kVI段集线线路1B312断路器
+	public static final String QSDQ_DI001278 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1278"; // 35kVI段集线线路1C313断路器
+	public static final String QSDQ_DI001416 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1416"; // 35kV分段300断路器
+	public static final String QSDQ_DI001462 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1462"; // 35kVII段集线线路2A323断路器
+	public static final String QSDQ_DI001508 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1508"; // 35kVII段集线线路2B324断路器
+	public static final String QSDQ_DI001554 = "QSDQ.NX_GD_QSF_DQ_P1_L1_001_DI1554"; // 35kVII段集线线路2C325断路器
+
+	public static final String SLDQ_DI000103 = "SLDQ.NX_GD_QSF_DQ_P1_L1_001_DI0071";
+	public static final String SLDQ_DI000303 = "SLDQ.NX_GD_QSF_DQ_P1_L1_001_DI0123";
+	public static final String SLDQ_DI000331 = "SLDQ.NX_GD_QSF_DQ_P1_L1_001_DI1615";
+	public static final String SLDQ_DI000332 = "SLDQ.NX_GD_QSF_DQ_P1_L1_001_DI1701";
+
+	public static final String QSFGL_AI000313 = "QSFGL.NX_GD_QSF_YC_P1_L1_001_CFT009";// 青山70m风速
+	public static final String QSFGL_AI000314 = "QSFGL.NX_GD_QSF_YC_P1_L1_001_CFT010";// 青山70m风向
+	/******************************************** 青山风电场 *****************************************/
+
+	/******************************************** 牛首山风电场 *****************************************/
+	public static final String NSSRFDL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0088"; // 牛首山日发电量
+	public static final String NSSYFDL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0146"; // 牛首山月发电量
+	public static final String NSSNFDL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0037"; // 牛首山年发电量
+	public static final String NSSSWDL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0136"; // 牛首山上网电量
+	public static final String NSSZGL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0135"; // 牛首山总功率
+	public static final String NSSFS = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0134"; // 牛首山风速
+	public static final String NSSQFDL = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0110"; // 牛首山日欠发损失电量
+	//public static final String NSSWD = "NSSFGL.NX_GD_NSSF_YC_P1_L1_001_FGLTEM"; // 牛首山测风塔温度
+	public static final String NSSWD = "NSSFJ.NX_GD_NSSF_FJ_P1_L2_013_AI0056"; // 牛首山测风塔温度
+	
+	public static final String NSSFGL_AI000306 = "NSSFGL.NX_GD_NSSF_YC_P1_L1_001_FGLHUM"; // 牛首山测风塔湿度
+	public static final String NSSFGL_AI000307 = "NSSFGL.NX_GD_NSSF_YC_P1_L1_001_FGLPRE"; // 牛首山测风塔压强
+	public static final String NSSPJFS = "NSSFCJSFW.NX_GD_NSSF_XX_XX_XXX_XXX_CI0134"; // 牛首山平均风速
+
+	public static final String NSSZ111 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0003"; // 首风II甲线111开关位置
+	public static final String NSSZ101 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0019"; // 101开关位置
+	public static final String NSSZ102 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0034"; // 102开关位置
+	public static final String NSSZ301 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0025"; // 301开关位置
+	public static final String NSSZ302 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0040"; // 302开关位置
+	public static final String NSSZ312 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0070"; // 集电线路一312开关位置
+	public static final String NSSZ313 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0076"; // 集电线路二313开关位置
+	public static final String NSSZ314 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0082"; // 集电线路三314开关位置
+	public static final String NSSZ321 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0098"; // 集电线路四321开关位置
+	public static final String NSSZ322 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0104"; // 集电线路五322开关位置
+	public static final String NSSZ323 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0110"; // 集电线路六323开关位置
+	public static final String NSSZ121 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0011"; // 首风II乙线121开关位置
+	public static final String NSSZ103 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0049"; // 103开关位置
+	public static final String NSSZ303 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0055"; // 303开关位置
+	public static final String NSSZ351 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0126"; // 集电线路七351开关位置
+	public static final String NSSZ353 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0132"; // 集电线路八353开关位置
+	public static final String NSSZ354 = "NSSDQN.NX_GD_NSSF_DQ_P1_L1_001_DI0138"; // 集电线路九354开关位置
+
+	public static final String NSSDQ_AI000703 = "NSSFGL.NX_GD_NSSF_YC_P1_L1_001_FGLS70";// 牛首山70m风速
+	public static final String NSSDQ_AI000704 = "NSSFGL.NX_GD_NSSF_YC_P1_L1_001_FGLD70";// 牛首山70m风向
+	/******************************************** 牛首山风电场 *****************************************/
+
+	/******************************************** 大武口风电场 *****************************************/
+	public static final String DWKRFDL = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0088"; // 大武口日发电量
+	public static final String DWKYFDL = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0146"; // 大武口月发电量
+	public static final String DWKNFDL = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0037"; // 大武口年发电量
+	public static final String DWKSWDL = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0136"; // 大武口上网电量
+	public static final String DWKZGL = "DWKDQ.NX_GD_DWKG_DQ_P1_L1_001_AI0002"; // 大武口总功率
+	public static final String DWKFS = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0134";// 大武口日照强度;
+	// public static final String DWKFS =
+	// "DWKGF.NX_GD_DWKG_GF_P1_L2_010_AI0672";// "JSFW_DWSSFS";
+	// //
+	// 大武口日照强度
+	//public static final String DWKWD = "DWKGGL.NX_GD_DWKG_YC_P1_L1_001_QXZ004"; // 大武口测风塔温度
+	public static final String DWKWD = "DWKGF.NX_GD_DWKG_GF_P1_L2_010_AI0663"; // 大武口测风塔温度
+	
+	public static final String DWKPJFS = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0134"; // 大武口平均风速
+
+	public static final String DWKZ310 = "DWKDQ.NX_GD_DWKG_DQ_P1_L1_001_DI0024"; // 35kV出线柜310开关位置
+	public static final String DWKZ314 = "DWKDQ.NX_GD_DWKG_DQ_P1_L1_001_DI0027"; // 35kV#1光伏进线柜314开关位置
+	public static final String DWKZ315 = "DWKDQ.NX_GD_DWKG_DQ_P1_L1_001_DI0028"; // 35kV#2光伏进线柜315开关位置
+	/******************************************** 大武口风电场 *****************************************/
+
+	/******************************************** 平罗电场 *****************************************/
+	public static final String PLRFDL = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0088"; // 平罗日发电量
+	public static final String PLYFDL = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0146"; // 平罗月发电量
+	public static final String PLNFDL = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0037"; // 平罗年发电量
+	public static final String PLSWDL = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0136"; // 平罗上网电量
+	public static final String PLZGL = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0135"; // 平罗总功率
+	public static final String PLFS = "PLGGL.NX_GD_PLG_YC_P1_L1_001_QXZ0001"; // 平罗日照强度
+	public static final String PLWD = "PLGGL.NX_GD_PLG_YC_P1_L1_001_QXZ004"; // 平罗测风塔温度
+	public static final String PLPJFS = "PLGGL.NX_GD_PLG_YC_P1_L1_001_QXZ0001"; // 平罗平均风速
+
+	// 平罗1
+	public static final String PLZ1310 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0001"; // 35kV出线柜310开关位置
+	public static final String PLZ1313 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0005"; // I期313开关断路器合位
+	public static final String PLZ1314 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0007"; // I期314开关断路器合位
+	public static final String PLZ1315 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0009"; // I期315开关断路器合位
+	public static final String PLZ1316 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0011"; // I期316开关断路器合位
+	public static final String PLZ1317 = "PLSJ1.NX_GD_PLG_DQ_P1_L1_001_DI0013"; // I期317开关断路器合位
+	// 平罗2
+	public static final String PLZ2310 = "PLSJ2.NX_GD_PLG_DD_P1_L1_001_DI0001"; // 20#逆变器电网交流过压
+	public static final String PLZ2322 = "PLSJ2.NX_GD_PLG_DD_P1_L1_001_DI0017"; // 20#逆变器防雷器故障
+	public static final String PLZ2323 = "PLSJ2.NX_GD_PLG_DD_P1_L1_001_DI0019"; // 20#逆变器防反放电保护
+	/******************************************** 平罗电场 *****************************************/
+
+	/******************************************** 马场湖风电场 *****************************************/
+
+	public static final String MCHRFDL = "JSFW_MCRFDLB"; // 马场湖日发电量
+	public static final String MCHYFDL = "JSFW_MCYFDLB"; // 马场湖月发电量
+	public static final String MCHNFDL = "JSFW_MCNFDLB"; // 马场湖年发电量
+	public static final String MCHSWDL = "JSFW_MCSWDLB"; // 马场湖上网电量
+	public static final String MCHZGL = "JSFW_MCSSZGL"; // 马场湖总功率
+	public static final String MCHFS = "JSFW_MCSSFSX"; // 马场湖日照强度
+	public static final String MCHWD = "MCHGGL_AI000308"; // 马场湖测风塔温度
+	public static final String MCHPJFS = "JSFW_MCSSFS"; // 马场湖平均风速
+
+	public static final String MCHZ511 = "MCHDQ_DI110749"; // 马场湖光伏开关站xj-断路器位置
+	public static final String MCHZ510 = "MCHDQ_DI110027"; // 马场湖光伏开关站10ah-3
+	// 1#进线柜-断路器位置
+	public static final String MCHZ512 = "MCHDQ_DI110317"; // 马场湖光伏开关站10ah-4
+	// 2#进线-断路器位置
+	public static final String MCHZ513 = "MCHDQ_DI110197"; // 马场湖光伏开关站10ah-5
+	// 3#进线-断路器位置
+	public static final String MCHZ514 = "MCHDQ_DI110080"; // 马场湖光伏开关站10ah-14
+	// 电容器-断路器位置
+	public static final String MCHZ515 = "MCHDQ_DI110137"; // 马场湖光伏开关站10ah-7
+	// 5#进线-断路器位置
+	public static final String MCHZ516 = "MCHDQ_DI110377"; // 马场湖光伏开关站10ah-8
+	// 6#进线-断路器位置
+	public static final String MCHZ517 = "MCHDQ_DI110437"; // 马场湖光伏开关站10ah-9
+	// 7#进线-断路器位置
+	public static final String MCHZ518 = "MCHDQ_DI110497"; // 马场湖光伏开关站10ah-10
+	// 8#进线-断路器位置
+	public static final String MCHZ519 = "MCHDQ_DI110557"; // 马场湖光伏开关站10ah-11
+	// 9#进线-断路器位置
+	public static final String MCHZ520 = "MCHDQ_DI110617"; // 马场湖光伏开关站10ah-12
+	// 10#进线-断路器位置
+	/******************************************** 马场湖风电场 *****************************************/
+
+	/******************************************** 宣和风电场 *****************************************/
+	public static final String XHRFDL = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0088"; // 宣和日发电量
+	public static final String XHYFDL = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0146"; // 宣和月发电量
+	public static final String XHNFDL = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0037"; // 宣和年发电量
+	public static final String XHSWDL = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0136"; // 宣和上网电量
+	public static final String XHZGL = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_AI0002"; // 宣和总功率
+	public static final String XHFS = "XHGGL.NX_GD_XHG_YC_P1_L1_001_QXZ001"; // 宣和日照强度
+																				// XHDQ.NX_GD_XHG_DQ_P1_L1_001_AI0192
+	// public static final String XHFS =
+	// "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0134"; // 宣和日照强度
+	public static final String XHWD = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0134"; // 宣和测风塔温度
+	public static final String XHPJFS = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0134"; // 宣和平均风速
+
+	public static final String XHZ311 = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0001"; // 35kV草光I线开关位置
+	public static final String XHZ313 = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0025"; // 35kV1#进线313开关位置
+	public static final String XHZ314 = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0027"; // 35kV2#进线314开关位置
+	public static final String XHZ316 = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0031"; // 35kV4#进线316开关位置
+	public static final String XHZ315 = "XHDQ.NX_GD_XHG_DQ_P1_L1_001_DI0029"; // 35kV3#进线315开关位置
+	/******************************************** 宣和风电场 *****************************************/
+
+	/******************************************** 香山风电场 *****************************************/
+	public static final String XSRFDL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0088"; // 香山日发电量
+	public static final String XSYFDL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0146"; // 香山月发电量
+	public static final String XSNFDL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0037"; // 香山年发电量
+	public static final String XSSWDL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0136"; // 香山上网电量
+	public static final String XSZGL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0135"; // 香山总功率
+	public static final String XSFS = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0134"; // 香山风速
+	public static final String XSQFDL = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0110"; // 香山日欠发损失电量
+
+	public static final String XSWD = "XSFGL.NX_GD_XSF_YC_P1_L1_001_FGLTEM"; // 香山测风塔温度
+	public static final String XSFGL_AI000007 = "XSFGL.NX_GD_XSF_YC_P1_L1_001_FGLHUM"; // 香山测风塔湿度
+	public static final String XSFGL_AI000008 = "XSFGL.NX_GD_XSF_YC_P1_L1_001_FGLPRE"; // 香山测风塔压强
+	public static final String XSPJFS = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0134"; // 香山平均风速
+
+	public static final String XSDQ_DI000034 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI0034"; // #111断路器
+	public static final String XSDQ_DI000169 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI0169"; // 101断路器
+	public static final String XSDQ_DI000308 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI0308"; // 102断路器
+	public static final String XSDQ_DI000192 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI0192"; // 301断路器
+	public static final String XSDQ_DI000331 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI0331"; // 302断路器
+	// 香山电气点没有,采用类似点,目前不一定准确
+	public static final String XSDQ_DI000850 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI1368"; // 311断路器
+	public static final String XSDQ_DI000915 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI1629"; // 312断路器
+	public static final String XSDQ_DI001210 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI1501"; // 323断路器
+	public static final String XSDQ_DI001145 = "XSDQ.NX_GD_XSF_DQ_P1_L1_001_DI1501"; // 322断路器
+
+	public static final String XSFGL_AI000003 = "XSFGL.NX_GD_XSF_YC_P1_L1_001_FGLS70";// 香山70m风速
+	public static final String XSFGL_AI000005 = "XSFGL.NX_GD_XSF_YC_P1_L1_001_FGLD70";// 香山70m风向
+	/******************************************** 香山风电场 *****************************************/
+
+	public static final String DWKGDCJSFW_CI0195 = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0195"; // 风机设备在线状态
+	public static final String DWKGDCJSFW_CI0196 = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0196"; // 升压站在线状态
+	public static final String DWKGDCJSFW_CI0197 = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0197"; // 电计量在线状态
+	public static final String DWKGDCJSFW_CI0198 = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0198"; // 测风塔在线状态
+	public static final String DWKGDCJSFW_CI0199 = "DWKGDCJSFW.NX_GD_DWKG_XX_XX_XXX_XXX_CI0199"; // agc在线状态
+
+	public static final String MHSFCJSFW_CI0215 = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0215"; // 风机设备在线状态
+	public static final String MHSFCJSFW_CI0216 = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0216"; // 升压站在线状态
+	public static final String MHSFCJSFW_CI0217 = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0217"; // 电计量在线状态
+	public static final String MHSFCJSFW_CI0218 = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0218"; // 测风塔在线状态
+	public static final String MHSFCJSFW_CI0219 = "MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0219"; // agc在线状态
+
+	public static final String NSSFCJSFW_CI0215 = "NSSFCJSFW_NX_GD_NSSF_XX_XX_XXX_XXX_CI0215"; // 风机设备在线状态
+	public static final String NSSFCJSFW_CI0216 = "NSSFCJSFW_NX_GD_NSSF_XX_XX_XXX_XXX_CI0216"; // 升压站在线状态
+	public static final String NSSFCJSFW_CI0217 = "NSSFCJSFW_NX_GD_NSSF_XX_XX_XXX_XXX_CI0217"; // 电计量在线状态
+	public static final String NSSFCJSFW_CI0218 = "NSSFCJSFW_NX_GD_NSSF_XX_XX_XXX_XXX_CI0218"; // 测风塔在线状态
+	public static final String NSSFCJSFW_CI0219 = "NSSFCJSFW_NX_GD_NSSF_XX_XX_XXX_XXX_CI0219"; // agc在线状态
+
+	public static final String PLGDCJSFW_CI0195 = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0195"; // 风机设备在线状态
+	public static final String PLGDCJSFW_CI0196 = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0196"; // 升压站在线状态
+	public static final String PLGDCJSFW_CI0197 = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0197"; // 电计量在线状态
+	public static final String PLGDCJSFW_CI0198 = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0198"; // 测风塔在线状态
+	public static final String PLGDCJSFW_CI0199 = "PLGDCJSFW.NX_GD_PLG_XX_XX_XXX_XXX_CI0199"; // agc在线状态
+
+	public static final String QSFCJSFW_CI0215 = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0215"; // 风机设备在线状态
+	public static final String QSFCJSFW_CI0216 = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0216"; // 升压站在线状态
+	public static final String QSFCJSFW_CI0217 = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0217"; // 电计量在线状态
+	public static final String QSFCJSFW_CI0218 = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0218"; // 测风塔在线状态
+	public static final String QSFCJSFW_CI0219 = "QSFCJSFW.NX_GD_QSF_XX_XX_XXX_XXX_CI0219"; // agc在线状态
+
+	public static final String SBQFCJSFW_CI0215 = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0215"; // 风机设备在线状态
+	public static final String SBQFCJSFW_CI0216 = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0216"; // 升压站在线状态
+	public static final String SBQFCJSFW_CI0217 = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0217"; // 电计量在线状态
+	public static final String SBQFCJSFW_CI0218 = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0218"; // 测风塔在线状态
+	public static final String SBQFCJSFW_CI0219 = "SBQFCJSFW.NX_GD_SBQF_XX_XX_XXX_XXX_CI0219"; // agc在线状态
+
+	public static final String XHGDCJSFW_CI0195 = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0195"; // 风机设备在线状态
+	public static final String XHGDCJSFW_CI0196 = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0196"; // 升压站在线状态
+	public static final String XHGDCJSFW_CI0197 = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0197"; // 电计量在线状态
+	public static final String XHGDCJSFW_CI0198 = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0198"; // 测风塔在线状态
+	public static final String XHGDCJSFW_CI0199 = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0199"; // agc在线状态
+
+	public static final String XSFCJSFW_CI0215 = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0215"; // 风机设备在线状态
+	public static final String XSFCJSFW_CI0216 = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0216"; // 升压站在线状态
+	public static final String XSFCJSFW_CI0217 = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0217"; // 电计量在线状态
+	public static final String XSFCJSFW_CI0218 = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0218"; // 测风塔在线状态
+	public static final String XSFCJSFW_CI0219 = "XSFCJSFW.NX_GD_XSF_XX_XX_XXX_XXX_CI0219"; // agc在线状态
+
+}

+ 28 - 10
src/main/java/com/gyee/frame/common/spring/InitialRunner.java

@@ -1,5 +1,9 @@
 package com.gyee.frame.common.spring;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.gyee.frame.common.cache.IGlobalCache;
 import com.gyee.frame.model.auto.*;
 import com.gyee.frame.service.*;
 import org.springframework.boot.CommandLineRunner;
@@ -46,7 +50,8 @@ public class InitialRunner implements CommandLineRunner {
     private ManufacturerService manufacturerService;
     @Resource
     private ModelPowerService modelPowerService;
-
+    @Resource
+    private IGlobalCache globalCache;
 
     public static List<Windpowerstation> wpallls = new ArrayList<Windpowerstation>(); // 风电场LIST集合(包含光电电)
     public static List<Project> pjallls = new ArrayList<Project>(); //项目LIST集合(包含光电电)
@@ -78,8 +83,10 @@ public class InitialRunner implements CommandLineRunner {
     public static Map<String, List<Project>> pjsmap = new HashMap<String, List<Project>>(); // 通过风场编号获得所属项目
     public static Map<String, List<Line>> lnsmap = new HashMap<String, List<Line>>(); // 通过项目编号获得所属线路
     public static Map<String, Map<Double, ModelpowerRd>> mprdMap = new HashMap<String, Map<Double, ModelpowerRd>>();
-//    public static Map<String, Map<String, WindTurbineTestingPointAi2>> wtpAimap = new HashMap<String, Map<String, WindTurbineTestingPointAi2>>();// 风电机测点AI表
-//    public static Map<String, Map<String, WindPowerStationTestingPoint2>> stationPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//场站测点
+    public static Map<String, Map<String, WindTurbineTestingPointAi2>> wtPointmap = new HashMap<String, Map<String, WindTurbineTestingPointAi2>>();// 风电机测点AI表
+    public static Map<String, Map<String, WindPowerStationTestingPoint2>> wpPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//场站测点
+    public static Map<String, Map<String, WindPowerStationTestingPoint2>> pjPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//项目测点
+    public static Map<String, Map<String, WindPowerStationTestingPoint2>> lnPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//线路测点
     public static Map<String, SysQuartzJob>  jobsmap = new HashMap<String, SysQuartzJob>();
     public static Map<String, Map<Double, Windturbinepowercurvefitting>> wpcmap = new HashMap<String, Map<Double, Windturbinepowercurvefitting>>();
     public static Map<String, Equipmentmodel> mlmap = new HashMap<String, Equipmentmodel>();// 风电机模型
@@ -90,16 +97,27 @@ public class InitialRunner implements CommandLineRunner {
     public void run(String... args) throws Exception {
         System.out.println(">>>>>>>>>>>>>>>服务启动执行,换成测点关联数据 <<<<<<<<<<<<<");
 
-        List<SysQuartzJob> quartzJobs=sysQuartzJobService.selectByExample(new SysQuartzJobExample());
+//        List<SysQuartzJob> quartzJobs=sysQuartzJobService.selectByExample(new SysQuartzJobExample());
+//
+//        if(!quartzJobs.isEmpty())
+//        {
+//            for(SysQuartzJob sysQuartzJob:quartzJobs){
+//
+//                jobsmap.put(sysQuartzJob.getId(),sysQuartzJob);
+//            }
+//
+//        }
 
-        if(!quartzJobs.isEmpty())
-        {
-            for(SysQuartzJob sysQuartzJob:quartzJobs){
+        String wpString=JSON.toJSONString(globalCache.get("WP"));
+        wpPointmap= JSONObject.parseObject(wpString,new TypeReference<Map<String, Map<String, WindPowerStationTestingPoint2>>>(){});
+        String pjString=JSON.toJSONString(globalCache.get("PJ"));
+        pjPointmap= JSONObject.parseObject(pjString,new TypeReference<Map<String, Map<String, WindPowerStationTestingPoint2>>>(){});
+        String lnString=JSON.toJSONString(globalCache.get("LN"));
+        lnPointmap= JSONObject.parseObject(lnString,new TypeReference<Map<String, Map<String, WindPowerStationTestingPoint2>>>(){});
 
-                jobsmap.put(sysQuartzJob.getId(),sysQuartzJob);
-            }
+        String wtString=JSON.toJSONString(globalCache.get("WT"));
+        wtPointmap= JSONObject.parseObject(wtString,new TypeReference<Map<String, Map<String, WindTurbineTestingPointAi2>>>(){});
 
-        }
 
         WindpowerstationExample windpowerstationExample=new WindpowerstationExample();
         windpowerstationExample.setOrderByClause("ordernum ASC");

+ 10 - 5
src/main/java/com/gyee/frame/common/websocket/WebsocketMessageService.java

@@ -1,10 +1,13 @@
 package com.gyee.frame.common.websocket;
 
-import com.alibaba.fastjson.JSON;
-import javax.annotation.Resource;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.messaging.simp.SimpMessagingTemplate;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
+
 
 @Component
 public class WebsocketMessageService
@@ -16,9 +19,11 @@ public class WebsocketMessageService
 
     public void SendAlertToAll(String destination, Object sendData)
     {
-        String s = JSON.toJSONString(sendData);
-//        System.out.println(s);
-        simpMessagingTemplate.convertAndSend(destination, s);
+        if (StringUtils.notEmp(sendData)) {
+            simpMessagingTemplate.convertAndSend(destination, AjaxResult.successData(AjaxStatus.success.code, sendData));
+        } else {
+            simpMessagingTemplate.convertAndSend(destination, AjaxResult.successData(AjaxStatus.error.code, sendData));
+        }
 
     }
 }

+ 10 - 10
src/main/java/com/gyee/frame/controller/AdminController.java

@@ -2,6 +2,7 @@ package com.gyee.frame.controller;
 
 import com.google.code.kaptcha.Constants;
 import com.gyee.frame.common.base.BaseController;
+import com.gyee.frame.common.conf.AjaxStatus;
 import com.gyee.frame.common.conf.V2Config;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.model.auto.SysNotice;
@@ -96,10 +97,8 @@ public class AdminController extends BaseController {
 	 * 用户登陆验证
 	 * 
 	 * @param user
-	 * @param rcode
 	 * @param redirectAttributes
 	 * @param rememberMe
-	 * @param model
 	 * @param request
 	 * @return
 	 */
@@ -203,28 +202,28 @@ public class AdminController extends BaseController {
 					if (StringUtils.isNotNull(ShiroUtils.getUser())) {
 						// 若为前后端分离版本,则可把sessionId返回,作为分离版本的请求头authToken
 						 String authToken = ShiroUtils.getSessionId();
-						 return AjaxResult.successData(200, authToken);
+						 return AjaxResult.successData(AjaxStatus.success.code, authToken);
 //						return AjaxResult.success();
 					} else {
-						return AjaxResult.error(500, "未知账户");
+						return AjaxResult.error(AjaxStatus.logineroor.code, "未知账户");
 					}
 				} catch (UnknownAccountException uae) {
 					logger.info("对用户[" + userName + "]进行登录验证..验证未通过,未知账户");
-					return AjaxResult.error(500, "未知账户");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "未知账户");
 				} catch (IncorrectCredentialsException ice) {
 					logger.info("对用户[" + userName + "]进行登录验证..验证未通过,错误的凭证");
-					return AjaxResult.error(500, "用户名或密码不正确");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "用户名或密码不正确");
 				} catch (LockedAccountException lae) {
 					logger.info("对用户[" + userName + "]进行登录验证..验证未通过,账户已锁定");
-					return AjaxResult.error(500, "账户已锁定");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "账户已锁定");
 				} catch (ExcessiveAttemptsException eae) {
 					logger.info("对用户[" + userName + "]进行登录验证..验证未通过,错误次数过多");
-					return AjaxResult.error(500, "用户名或密码错误次数过多");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "用户名或密码错误次数过多");
 				} catch (AuthenticationException ae) {
 					// 通过处理Shiro的运行时AuthenticationException就可以控制用户登录失败或密码错误时的情景
 					logger.info("对用户[" + userName + "]进行登录验证..验证未通过,堆栈轨迹如下");
 					ae.printStackTrace();
-					return AjaxResult.error(500, "用户名或密码不正确");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "用户名或密码不正确");
 				}
 			} else {
 				if (StringUtils.isNotNull(ShiroUtils.getUser())) {
@@ -232,7 +231,7 @@ public class AdminController extends BaseController {
 					// view.setViewName("redirect:/"+prefix+"/index");
 					return AjaxResult.success();
 				} else {
-					return AjaxResult.error(500, "未知账户");
+					return AjaxResult.error(AjaxStatus.logineroor.code, "未知账户");
 				}
 			}
 
@@ -242,6 +241,7 @@ public class AdminController extends BaseController {
 
 	@ApiOperation(value = "获取用户菜单", notes = "获取用户菜单")
 	@GetMapping("/usermenu")
+	@ResponseBody
 	public AjaxResult usermenu(HttpServletRequest request) {
 		// 获取菜单栏
 		List<ElementNode> menuTree = sysPermissionService.getTreePerm(ShiroUtils.getUserId());

+ 1 - 1
src/main/java/com/gyee/frame/controller/admin/ApiController2.java

@@ -25,7 +25,7 @@ import io.swagger.annotations.ApiOperation;
 public class ApiController2 {
 	/**
 	 * 第一步:token获取
-	 * post:http://localhost:8080/admin/API/login
+	 * post:http://localhost:8080/admin/API/loginvue
 	 * body参数:
 	 * username:admin
 	 * password:admin

+ 13 - 0
src/main/java/com/gyee/frame/model/custom/ElementNode.java

@@ -8,9 +8,22 @@ public class ElementNode implements Serializable {
 	private String id;
 	private String pid;
 	private String label;
+	private String url;
 	private Boolean isParent;
 	private List<ElementNode> children;
 
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public void setParent(Boolean parent) {
+		isParent = parent;
+	}
+
 	public String getId() {
 		return id;
 	}

+ 13 - 11
src/main/java/com/gyee/frame/service/ModelpowerRdService.java

@@ -1,22 +1,30 @@
 package com.gyee.frame.service;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.cache.IGlobalCache;
 import com.gyee.frame.common.support.Convert;
 import com.gyee.frame.mapper.auto.ModelpowerRdMapper;
 import com.gyee.frame.model.auto.ModelpowerRd;
 import com.gyee.frame.model.auto.ModelpowerRdExample;
 import com.gyee.frame.util.SnowflakeIdWorker;
-import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 @Service
 public class ModelpowerRdService implements BaseService<ModelpowerRd, ModelpowerRdExample> {
 	@Resource
 	private ModelpowerRdMapper modelpowerRdMapper;
-	
+	@Resource
+	private IGlobalCache globalCache;
 
 	@Override
 	public int deleteByPrimaryKey(String ids) {
@@ -96,14 +104,8 @@ public class ModelpowerRdService implements BaseService<ModelpowerRd, Modelpower
 
 		List<ModelpowerRd> list =new ArrayList<>();
 
-		ModelpowerRdExample example=new ModelpowerRdExample();
-		example.setOrderByClause("modelid ASC");
-
-		ModelpowerRdExample.Criteria criteria =example.createCriteria();
-
-
-		list= modelpowerRdMapper.selectByExample(example);
-
+		String mprdString= JSON.toJSONString(globalCache.get("MPRD"));
+		list= JSONObject.parseObject(mprdString,new TypeReference<List<ModelpowerRd>>(){});
 
 		Map<String, Map<Double, ModelpowerRd>> res = new HashMap<String, Map<Double,ModelpowerRd>>();
 		Map<Double, ModelpowerRd> map = null;

+ 1 - 0
src/main/java/com/gyee/frame/service/SysPermissionService.java

@@ -263,6 +263,7 @@ public class SysPermissionService implements BaseService<TsysPermission, TsysPer
 				node.setId(eq.getId());
 				node.setPid(eq.getPid());
 				node.setLabel(eq.getName());
+				node.setUrl(eq.getUrl());
 				//	node.setOpen(true);
 				treeList.add(node);
 			}

+ 34 - 9
src/main/java/com/gyee/frame/service/WindPowerstationTestingPointService.java

@@ -3,6 +3,7 @@ package com.gyee.frame.service;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.common.support.Convert;
 import com.gyee.frame.mapper.auto.WindPowerStationTestingPoint2Mapper;
 import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 风场测点 WindPowerstationTestingPointService
@@ -136,19 +138,42 @@ public class WindPowerstationTestingPointService implements BaseService<WindPowe
 	public WindPowerStationTestingPoint2 getWindPowerStationTestingPoint2(String wpId, String unicode)  {
 		WindPowerStationTestingPoint2 point=new WindPowerStationTestingPoint2();
 
-		WindPowerStationTestingPoint2Example example=new WindPowerStationTestingPoint2Example();
-
-		if(StringUtils.isNotEmpty(wpId) &&  StringUtils.isNotEmpty(unicode)){
-
-
-			example.createCriteria().andWindpowerstationidEqualTo(wpId).andUniformcodeEqualTo(unicode);
-			List<WindPowerStationTestingPoint2> list= windPowerStationTestingPoint2Mapper.selectByExample(example);
-			if(!list.isEmpty())
+		if(StringUtils.notEmp(wpId) && StringUtils.notEmp(unicode) )
+		{
+			if(wpId.equals("0") || wpId.equals("-1") ||wpId.equals("-2") || InitialRunner.wpmap.containsKey(wpId))
 			{
-				point=list.get(0);
+				if(InitialRunner.wpPointmap.containsKey(wpId))
+				{
+					Map<String, WindPowerStationTestingPoint2> map=InitialRunner.wpPointmap.get(wpId);
+					if(map.containsKey(unicode))
+					{
+						point=map.get(wpId);
+					}
+				}
+			}else if(InitialRunner.pjmap.containsKey(wpId))
+			{
+				if(InitialRunner.pjPointmap.containsKey(wpId))
+				{
+					Map<String, WindPowerStationTestingPoint2> map=InitialRunner.pjPointmap.get(wpId);
+					if(map.containsKey(unicode))
+					{
+						point=map.get(wpId);
+					}
+				}
+			}else if(InitialRunner.lnmap.containsKey(wpId))
+			{
+				if(InitialRunner.lnPointmap.containsKey(wpId))
+				{
+					Map<String, WindPowerStationTestingPoint2> map=InitialRunner.lnPointmap.get(wpId);
+					if(map.containsKey(unicode))
+					{
+						point=map.get(wpId);
+					}
+				}
 			}
 		}
 
+
 		return point;
 	}
 

+ 13 - 10
src/main/java/com/gyee/frame/service/WindTurbineTestingPointAiService.java

@@ -3,6 +3,7 @@ package com.gyee.frame.service;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.common.support.Convert;
 import com.gyee.frame.mapper.auto.WindTurbineTestingPointAi2Mapper;
 import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 风机AI测点 WindTurbineTestingPointAiService
@@ -136,17 +138,18 @@ public class WindTurbineTestingPointAiService implements BaseService<WindTurbine
 	public WindTurbineTestingPointAi2 getWindTurbineTestingPointAi2(String wtId, String unicode)  {
 
 		WindTurbineTestingPointAi2 point=new WindTurbineTestingPointAi2();
-		WindTurbineTestingPointAi2Example example=new WindTurbineTestingPointAi2Example();
-
-		if(StringUtils.isNotEmpty(wtId) &&  StringUtils.isNotEmpty(unicode)){
-
-
-			example.createCriteria().andWindturbineidEqualTo(wtId).andUniformcodeEqualTo(unicode);
-			List<WindTurbineTestingPointAi2> list= windTurbineTestingPointAi2Mapper.selectByExample(example);
-
-			if(!list.isEmpty())
+		if(StringUtils.notEmp(wtId) && StringUtils.notEmp(unicode) )
+		{
+			 if(InitialRunner.wtmap.containsKey(wtId))
 			{
-				point=list.get(0);
+				if(InitialRunner.wtPointmap.containsKey(wtId))
+				{
+					Map<String, WindTurbineTestingPointAi2> map=InitialRunner.wtPointmap.get(wtId);
+					if(map.containsKey(unicode))
+					{
+						point=map.get(wtId);
+					}
+				}
 			}
 		}
 

+ 429 - 0
src/main/java/com/gyee/frame/service/websocket/BasicDataPushService.java

@@ -0,0 +1,429 @@
+package com.gyee.frame.service.websocket;
+
+
+import com.gyee.frame.common.spring.Constant;
+import com.gyee.frame.common.spring.ConstantTR;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.common.websocket.WebsocketMessageService;
+import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
+import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.service.WindPowerstationTestingPointService;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.StringUtils;
+import com.gyee.frame.util.golden.EdosUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class BasicDataPushService {
+
+    @Resource
+    private WebsocketMessageService websocketMessageService;
+    @Resource
+    private WindPowerstationTestingPointService windPowerstationTestingPointService;
+
+
+    private final String QS = "0.0";
+    private final String FD = "-1";
+    private final String GF = "-2";
+
+    IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
+
+    public void basicDataPushTask(String destination) throws Exception {
+
+        Map<String, Object> map = new HashMap<>();
+
+
+        map.put(QS, findBasicDataInfo(QS));
+        map.put(QS, findBasicDataInfo(FD));
+        map.put(QS, findBasicDataInfo(GF));
+
+        websocketMessageService.SendAlertToAll(destination, map);
+
+    }
+
+
+    private Map<String, Object> findBasicDataInfo(String id) throws Exception {
+        Map<String, Object> map = new HashMap<String, Object>();
+        if (StringUtils.notEmp(id)) {
+
+
+            Double sjgl = 0.0;
+            Double ssfs = 0.0;
+
+            Double rfdl = 0.0;
+            Double yfdl = 0.0;
+            Double nfdl = 0.0;
+
+            Double zjts = 0.0;
+            Double zjrl = 0.0;
+/*************************************************基础指标*************************************************************/
+            Map<String, Double> fcmap = new HashMap<>();
+            //初始化场站信息
+            setWpInfo(zjts, zjrl, fcmap, id);
+            //所属风场指标
+            map.put("fcmap", fcmap);
+            //实际功率
+            sjgl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_SJGL)).getPointValueInDouble();
+            //日发电量
+            rfdl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_RFDL)).getPointValueInDouble();
+            //月发电量
+            yfdl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_YFDL)).getPointValueInDouble();
+            //年发电量
+            nfdl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_NFDL)).getPointValueInDouble();
+
+            ssfs = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_SSFS)).getPointValueInDouble();
+
+            double temp = 0.0;
+            //月利用小时
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_YFDL)).getPointValueInDouble();
+            Double ylyxs = (new BigDecimal(temp).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
+            //年利用小时
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.TPOINT_WP_NFDL)).getPointValueInDouble();
+            Double nlyxs = (new BigDecimal(temp).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
+            //上网电量
+            Double swdl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, "SWDLB")).getPointValueInDouble();// 上网电量
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, "ZBZGL")).getPointValueInDouble();
+            //保证功率
+            Double bzgl = new BigDecimal(temp).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, "ZZSGL")).getPointValueInDouble();
+            //应发功率
+            Double yfgl = new BigDecimal(temp).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+
+
+        if (id.equals(QS)) {
+            // 减排二氧化碳
+            Double jpeyht = realApiUtil.getRealData(ConstantTR.JPEYHT).getPointValueInDouble();
+            // 节约标煤
+            Double jybm = realApiUtil.getRealData(ConstantTR.JYBM).getPointValueInDouble();
+            // 减排二氧化硫
+            Double jpeyhl = realApiUtil.getRealData(ConstantTR.JPEYHL).getPointValueInDouble();
+            // 节约水
+            Double jys = realApiUtil.getRealData(ConstantTR.JYS).getPointValueInDouble();
+            // 安全天数
+            Double aqts = realApiUtil.getRealData(ConstantTR.AQTS).getPointValueInDouble();
+
+            Double gfsjgl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(GF, Constant.TPOINT_WP_SJGL)).getPointValueInDouble();
+
+            bzgl = bzgl + gfsjgl;
+            yfgl = yfgl + gfsjgl;
+            map.put("aqts", StringUtils.round(aqts, 2));
+            map.put("jpeyht", StringUtils.round(jpeyht, 2));
+            map.put("jybm", StringUtils.round(jybm, 2));
+            map.put("jpeyhl", StringUtils.round(jpeyhl, 2));
+            map.put("jys", StringUtils.round(jys, 2));
+
+        }
+//        if (bzgl == 0.0) {
+//            bzgl = 1;
+//        }
+//        Double glbz = new BigDecimal(sjgl).divide(new BigDecimal(bzgl), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).DoubleValue();
+//        if (bzgl == 1) {
+//            bzgl = 0.0;
+//        }
+//        if (glbz > 100) {
+//            glbz = 100;
+//        }
+
+/*************************************************基础指标*************************************************************/
+
+/*************************************************受累损失**************************************************************/
+
+            // 日场内受累检修
+            Double rjxsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RLZSSDL)).getPointValueInDouble();
+            // 日场内受累故障
+            Double rgzzsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RSZSSDL)).getPointValueInDouble();
+            // 月场内受累检修
+            Double yjxsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YLZSSDL)).getPointValueInDouble();
+            // 月场内受累故障
+            Double ygzzsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YSZSSDL)).getPointValueInDouble();
+            // 年场内受累检修
+            Double njxsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NLZSSDL)).getPointValueInDouble();
+            // 年场内受累故障
+            Double ngzzsl = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NSZSSDL)).getPointValueInDouble();
+/*************************************************受累损失***************************************************************/
+
+/**********************************************日故障损失和检修损失********************************************************/
+            //日待机损失
+            Double rdjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RSDJZSDL)).getPointValueInDouble();
+            //日手动停机损失
+            Double rsdtjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RSSTZSDL)).getPointValueInDouble();
+            //日性能损失
+            Double rxnss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RXNZSDL)).getPointValueInDouble();
+            //日缺陷降出力损失
+            Double rqxjclss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RSQXZSDL)).getPointValueInDouble();
+
+            //日欠发损失=日待机损失+日手动停机损失+日性能损失+日缺陷降出力损失
+            Double rqfssdl = new BigDecimal(rdjss + rsdtjss + rxnss + rqxjclss).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RGZSSDL)).getPointValueInDouble();
+            //日故障损失电量=日故障损失+日故障受累
+            Double rgzssdl = new BigDecimal(temp + rgzzsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            //日检修损失电量=日检修损失+日检修受累
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RJXSSDL)).getPointValueInDouble();
+            Double rjxssdl = new BigDecimal(temp + rjxsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+/**********************************************日故障损失和检修损失********************************************************/
+
+/**********************************************月故障损失和检修损失********************************************************/
+            // 月场内受累检修
+            Double ydjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YSDJZSDL)).getPointValueInDouble();
+            // 月场内受累检修
+            Double ysdtjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YSSTZSDL)).getPointValueInDouble();
+            // 月场内受累检修
+            Double yxnss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YXNZSDL)).getPointValueInDouble();
+            // 月场内受累检修
+            Double yqxjclss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YSQXZSDL)).getPointValueInDouble();
+            //月欠发损失=月待机损失+月手动停机损失+月性能损失+月缺陷降出力损失
+            Double yqfssdl = new BigDecimal(ydjss + ysdtjss + yxnss + yqxjclss).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YGZSSDL)).getPointValueInDouble();
+            //月故障损失电量=月故障损失+月故障受累
+            Double ygzssdl = new BigDecimal(temp + ygzzsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YJXSSDL)).getPointValueInDouble();
+            //月检修损失电量=月检修损失+月检修受累
+            Double yjxssdl = new BigDecimal(temp + yjxsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+/**********************************************月故障损失和检修损失********************************************************/
+
+/**********************************************年故障损失和检修损失********************************************************/
+            // 年场内受累检修
+            Double ndjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NSDJZSDL)).getPointValueInDouble();
+            // 年场内受累检修
+            Double nsdtjss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NSSTZSDL)).getPointValueInDouble();
+            // 年场内受累检修
+            Double nxnss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NXNZSDL)).getPointValueInDouble();
+            // 年场内受累检修
+            Double nqxjclss = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NSQXZSDL)).getPointValueInDouble();
+
+            Double nqfssdl = new BigDecimal(ndjss + nsdtjss + nxnss + nqxjclss).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NGZSSDL)).getPointValueInDouble();
+            //年故障损失电量=年故障损失+年故障受累
+            Double ngzssdl = new BigDecimal(temp + ngzzsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NJXSSDL)).getPointValueInDouble();
+            //年检修损失电量=年检修损失+年检修受累
+            Double njxssdl = new BigDecimal(temp + njxsl).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+/**********************************************月故障损失和检修损失********************************************************/
+
+/****************************************************限电损失************************************************************/
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.RXDSSDL)).getPointValueInDouble();
+            Double rxdssdl = new BigDecimal(temp).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.YXDSSDL)).getPointValueInDouble();
+            Double yxdssdl = new BigDecimal(temp).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+            temp = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id, Constant.NXDSSDL)).getPointValueInDouble();
+            Double nxdssdl = new BigDecimal(temp).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+/****************************************************限电损失************************************************************/
+        }
+
+
+//
+//        if (id.equals(QS)) {
+//            Double jpeyht = realApiUtil.getRealData(ConstantTR.JPEYHT).getPointValueInDouble();// 减排二氧化碳
+//            // EDOS.CALC.GSJPEYHT
+//            Double jybm = realApiUtil.getRealData(ConstantTR.JYBM).getPointValueInDouble();// 节约标煤
+//
+//            Double jpeyhl = realApiUtil.getRealData(ConstantTR.JPEYHL).getPointValueInDouble();// 减排二氧化硫
+//            // EDOS.CALC.GSJPEYHL
+//            Double jys = realApiUtil.getRealData(ConstantTR.JYS).getPointValueInDouble();// 节约水
+//
+//            Double aqts = realApiUtil.getRealData(ConstantTR.AQTS).getPointValueInDouble();// 安全天数
+//
+//            Double gfsjgl = realApiUtil.getRealData(CacheContext.stationPointmap.get("-2").get(Constant.TPOINT_WP_SJGL)).getPointValueInDouble();
+//
+//            bzgl = bzgl + gfsjgl;
+//            yfgl = yfgl + gfsjgl;
+//            map.put("aqts", StringUtils.round(aqts, 2));
+//            map.put("jpeyht", StringUtils.round(jpeyht, 2));
+//            map.put("jybm", StringUtils.round(jybm, 2));
+//            map.put("jpeyhl", StringUtils.round(jpeyhl, 2));
+//            map.put("jys", StringUtils.round(jys, 2));
+//
+//        }
+//        if (bzgl == 0.0) {
+//            bzgl = 1;
+//        }
+//        Double glbz = new BigDecimal(sjgl).divide(new BigDecimal(bzgl), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).DoubleValue();
+//        if (bzgl == 1) {
+//            bzgl = 0.0;
+//        }
+//        if (glbz > 100) {
+//            glbz = 100;
+//        }
+//        // 状态台数
+//        Double yxts = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id,Constant.TPOINT_WT_YXTS)).getPointValueInDouble();// 上网电量
+//        Double djts = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id,Constant.TPOINT_WT_DJTS)).getPointValueInDouble();// 上网电量
+//        Double whtj = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id,Constant.TPOINT_WT_WHTJ)).getPointValueInDouble();// 上网电量
+//        Double gztj = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id,Constant.TPOINT_WT_GZTJ)).getPointValueInDouble();// 上网电量
+//        Double txzd = realApiUtil.getRealData(windPowerstationTestingPointService.getWindPowerStationTestingPoint2(id,Constant.TPOINT_WT_TXZD)).getPointValueInDouble();// 上网电量
+//
+//        map.put("yxts", StringUtils.round(yxts, 0.0));
+//        map.put("djts", StringUtils.round(djts, 0.0));
+//        map.put("whtj", StringUtils.round(whtj, 0.0));
+//        map.put("gztj", StringUtils.round(gztj, 0.0));
+//        map.put("txzd", StringUtils.round(txzd, 0.0));
+//        map.put("zjts", StringUtils.round(zjts, 0.0));
+//
+//        Map<String, Object> params = new HashMap<String, Object>();
+//
+//        params.put("recorddate", DateUtils.truncate(new Date()));
+//
+//        params.put("foreignkeyid", id);
+//
+//        List<Windpowerinfoday> ls = windpowerinfodayService.findByProperties(params);
+//        if (!ls.isEmpty()) {
+//            Windpowerinfoday wd = ls.get(0.0);
+//            map.put("ndxkyss", wd.getYeardxkyxs());
+//            map.put("nsbklyl", wd.getYearsbklyl());
+//        } else {
+//            map.put("ndxkyss", 0.0.0.0);
+//            map.put("nsbklyl", 0.0.0.0);
+//        }
+//        map.put("rqfssdl", StringUtils.round(rqfssdl, 2));
+//        map.put("yqfssdl", StringUtils.round(yqfssdl, 2));
+//        map.put("nqfssdl", StringUtils.round(nqfssdl, 2));
+//
+//        map.put("rgzssdl", StringUtils.round(rgzssdl, 2));
+//        map.put("ygzssdl", StringUtils.round(ygzssdl, 2));
+//        map.put("ngzssdl", StringUtils.round(ngzssdl, 2));
+//
+//        map.put("rjxssdl", StringUtils.round(rjxssdl, 2));
+//        map.put("yjxssdl", StringUtils.round(yjxssdl, 2));
+//        map.put("njxssdl", StringUtils.round(njxssdl, 2));
+//
+//        map.put("rxdssdl", StringUtils.round(rxdssdl < 0.0 ? 0.0 : rxdssdl, 2));
+//        map.put("yxdssdl", StringUtils.round(yxdssdl < 0.0 ? 0.0 : yxdssdl, 2));
+//        map.put("nxdssdl", StringUtils.round(nxdssdl < 0.0 ? 0.0 : nxdssdl, 2));
+//
+//        map.put("zjrl", StringUtils.round(zjrl, 2));
+//
+//        map.put("pjfs", StringUtils.round(pjfs, 2));
+//        map.put("sjgl", StringUtils.round(sjgl, 2));
+//        map.put("bzgl", StringUtils.round(bzgl, 2));
+//        map.put("glbz", StringUtils.round(glbz, 2));
+//        map.put("yfgl", StringUtils.round(yfgl, 2));
+//
+//        map.put("rfdl", StringUtils.round(rfdl, 2));
+//        map.put("yfdl", StringUtils.round(yfdl, 2));
+//        map.put("nfdl", StringUtils.round(nfdl, 2));
+//
+//        map.put("ylyxs", StringUtils.round(ylyxs, 2));
+//        map.put("nlyxs", StringUtils.round(nlyxs, 2));
+//
+//        map.put("swdl", StringUtils.round(swdl, 2));
+//
+//        List<Projectplan> planls = null;
+//        // Map<String, Object> params = new HashMap<String, Object>();
+//        params.clear();
+//        Calendar cal = Calendar.getInstance();
+//        cal.setTime(new Date());
+//        int year = cal.get(Calendar.YEAR);
+//        params.put("year", String.valueOf(year));
+//        params.put("!month", "");
+//        // 当期全部电场计划集合
+//
+//        planls = projectPlanService.findByProperties(params);
+//
+//        map = setPlanInfo(map, planls, id);
+//
+//        Double yfdljh = 0.0;
+//        Double nfdljh = 0.0;
+//
+//        if (id.equals(QS)) {
+//            yfdljh = Double.valueOf(map.get("yfdljh"));
+//            nfdljh = Double.valueOf(map.get("nfdljh"));
+//            map.put("yfdljh", yfdljh);
+//            map.put("nfdljh", nfdljh);
+//        } else if (id.equals("-1")) {
+//            yfdljh = Double.valueOf(map.get("fcyfdljh"));
+//            nfdljh = Double.valueOf(map.get("fcnfdljh"));
+//            map.put("yfdljh", yfdljh);
+//            map.put("nfdljh", nfdljh);
+//        } else if (id.equals("-2")) {
+//            yfdljh = Double.valueOf(map.get("gfyfdljh"));
+//            nfdljh = Double.valueOf(map.get("gfnfdljh"));
+//            map.put("yfdljh", yfdljh);
+//            map.put("nfdljh", nfdljh);
+//        } else {
+//            yfdljh = Double.valueOf(map.get("wpyfdljh"));
+//            nfdljh = Double.valueOf(map.get("wpnfdljh"));
+//
+//            map.put("yfdljh", yfdljh);
+//            map.put("nfdljh", nfdljh);
+//        }
+//
+//        Double ywcl = 0.0.0.0;
+//        Double nwcl = 0.0.0.0;
+//        if (yfdljh == 0.0) {
+//            nfdljh = 1;
+//        }
+//        if (yfdljh != 0.0) {
+//            ywcl = new BigDecimal(yfdl).divide(new BigDecimal(yfdljh), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).DoubleValue();
+//        }
+//        if (nfdljh == 0.0) {
+//            nfdljh = 1;
+//        }
+//        if (nfdljh != 0.0) {
+//            nwcl = new BigDecimal(nfdl).divide(new BigDecimal(nfdljh), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).DoubleValue();
+//        }
+//
+//        if (yfdljh > 100) {
+//            yfdljh = 100;
+//        }
+//        if (nfdljh > 100) {
+//            nfdljh = 100;
+//        }
+//        map.put("ywcl", StringUtils.round(ywcl, 2));
+//        map.put("nwcl", StringUtils.round(nwcl, 2));
+//
+        return map;
+    }
+
+    private void setWpInfo(Double zjts, Double zjrl, Map<String, Double> fcmap, String type) throws Exception {
+
+        for (Windpowerstation wp : InitialRunner.wpallls) {
+            if (type.equals("0")) {
+                setWpInfo(zjts, zjrl, fcmap, wp);
+            } else if (type.equals("-1")) {
+                if (wp.getId().endsWith("FDC")) {
+                    setWpInfo(zjts, zjrl, fcmap, wp);
+                }
+            } else if (type.equals("-2")) {
+                if (wp.getId().endsWith("GDC")) {
+                    setWpInfo(zjts, zjrl, fcmap, wp);
+                }
+            }
+        }
+    }
+
+    private void setWpInfo(Double zjts, Double zjrl, Map<String, Double> fcmap, Windpowerstation wp) throws Exception {
+
+        zjrl += wp.getCapacity();
+        zjts += wp.getQuantity();
+
+        WindPowerStationTestingPoint2 fczt = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.FJZT);
+        WindPowerStationTestingPoint2 fcgl = windPowerstationTestingPointService.getWindPowerStationTestingPoint2(wp.getId(), Constant.TPOINT_WP_SJGL);
+
+        Double fcztvalue = realApiUtil.getRealData(fczt).getPointValueInDouble();
+        Double fcglvalue = realApiUtil.getRealData(fczt).getPointValueInDouble();
+
+        StringBuilder sb = new StringBuilder();
+        sb.append(wp.getId()).append("_").append("zjrl");
+        fcmap.put(String.valueOf(sb), zjrl);
+        sb.setLength(0);
+        sb.append(wp.getId()).append("_").append("zjts");
+        fcmap.put(String.valueOf(sb), zjts);
+        sb.setLength(0);
+        sb.append(wp.getId()).append("_").append("fczt");
+        fcmap.put(String.valueOf(sb), fcztvalue);
+        sb.setLength(0);
+        sb.append(wp.getId()).append("_").append("fcgl");
+        fcmap.put(String.valueOf(sb), fcglvalue);
+    }
+}
+
+