Selaa lähdekoodia

首页数据展示功能修改

shilin 4 vuotta sitten
vanhempi
commit
d2e73502bd

BIN
out/artifacts/springboot_v2_jar/springboot_v2.jar


+ 332 - 0
src/main/java/com/gyee/Constant.java

@@ -0,0 +1,332 @@
+package com.gyee;
+
+/**
+ * 
+ * 
+ * 项目名称:nxfd 类名称:Constant 类描述: 创建人:石林 创建时间:2014-3-4 上午10:07:03 修改人:shilinno1
+ * 修改时间:2014-3-4 上午10:07:03 修改备注:
+ * 
+ * @version
+ * 
+ */
+public class Constant {
+	/**
+	 * EdnaAPI 时间间隔
+	 */
+	
+	public static final Long EDNAAPI_PRIED = 30l;
+	public static final Long TOP_PRIED = 1800l;
+
+	public static final String TPOINT_ALL_RFDL = "RFDL"; // 汇总日发电量
+	public static final String TPOINT_ALL_YFDL = "YFDL"; // 汇总月发电量
+	public static final String TPOINT_ALL_NFDL = "NFDL"; // 汇总年发电量
+	public static final String TPOINT_ALL_SJGL = "RPJGL"; // 汇总日实际功率
+	public static final String TPOINT_ALL_PJFS = "RPJFS"; // 汇总日平均风速
+
+	public static final String TPOINT_WP_FGLYC = "FCFGCDQ0001,FCFGCDQ0003,FCFGCDQ0005,FCFGCDQ0007,FCFGCDQ0009,FCFGCDQ0011,FCFGCDQ0013,FCFGCDQ0015";
+	public static final String TPOINT_WP_FGLYC2 = "FCFGCDQ0002,FCFGCDQ0004,FCFGCDQ0006,FCFGCDQ0008,FCFGCDQ0010,FCFGCDQ0012,FCFGCDQ0014,FCFGCDQ0016";
+	
+	public static final String TPOINT_WP_FGLYCSB = "FCFGCDQ0001A,FCFGCDQ0003A,FCFGCDQ0005A,FCFGCDQ0007A,FCFGCDQ0009A,FCFGCDQ0011A,FCFGCDQ0013A,FCFGCDQ0015A";
+	public static final String TPOINT_WP_FGLYC2SB = "FCFGCDQ0002A,FCFGCDQ0004A,FCFGCDQ0006A,FCFGCDQ0008A,FCFGCDQ0010A,FCFGCDQ0012A,FCFGCDQ0014A,FCFGCDQ0016A";
+	
+	
+	public static final String TPOINT_WP_FGLYC24 = "FCFGCDQ0004,FCFGCDQ0008,FCFGCDQ0012,FCFGCDQ0016";
+	public static final String ycPoints2 = "FCFGCDQ0001,FCFGCDQ0002,FCFGCDQ0003,FCFGCDQ0004,FCFGCDQ0005,FCFGCDQ0006,FCFGCDQ0007,FCFGCDQ0008,FCFGCDQ0009,FCFGCDQ0010,FCFGCDQ0011,FCFGCDQ0012,FCFGCDQ0013,FCFGCDQ0014,FCFGCDQ0015,FCFGCDQ0016";
+	public static final String TPOINT_WP_YCGL = "RPJGL"; // 风场预测功率短期次天00:00:00
+	public static final String TPOINT_WP_PJFS = "RPJFS"; // 电场日平均风速
+
+	public static final String TPOINT_WP_SWDL = "SWDLB"; // 风场上网电量
+	public static final String TPOINT_WP_GWDL = "GWGWB"; // 风场购网电量
+	public static final String TPOINT_WP_NWGWDL = "NWGWB"; // 农网购网电量
+	/**
+	 * 空气温度
+	 */
+	public static final String TPOINT_WP_FCCFTWD = "FCCFTWD";// 温度
+
+	public static int WAITING_STATUS = 0;// 待机
+	public static int RUN_STATUS = 1;// 并网
+	public static int FAULT_STATUS = 2;// 故障停机
+	public static int INTERRUPTION_STATUS = 3;// 通讯中断
+	public static int MAINTENANCE_STATUS = 4;// 维护停机
+	public static String FAULT_NAME = "故障";
+	public static String MAINTENANCE_NAME = "维护";
+	public static String WAITING_NAME = "待机";
+	public static String RUN_NAME = "运行";
+	public static String INTERRUPTION_NAME = "离线";
+
+	public static final String TPOINT_WP_SJGL = "SSZGL"; // 日实际功率
+	public static final String TPOINT_WP_SFDL = "SFDL";// 总发电量(升压站)
+	public static final String TPOINT_WP_SSFS = "SSFS"; // 实时平均风速
+	public static final String TPOINT_WP_RFDL = "RFDLB"; // 日发电量
+	public static final String TPOINT_WP_YFDL = "YFDLB"; // 月发电量
+	public static final String TPOINT_WP_NFDL = "NFDLB"; // 年发电量
+
+	public static final String TPOINT_WT_RFDL = "RFDL";// 风机日发电量与SCADA日风场发电量
+	public static final String TPOINT_WT_DCRFDL = "AI064";// 导出单机发电量
+	public static final String TPOINT_WT_YFDL = "YFDL";// 风机月发电量
+	public static final String TPOINT_WT_NFDL = "NFDL";// 风机年发电量
+
+	public static final String TPOINT_WT_RFDL2 = "RFDLREAD";// 逆变器日发电量
+
+	public static final String TPOINT_WT_XDTS = "XDTS";// 限电台数
+	public static final String TPOINT_WT_YXTS = "YXTS";// 运行台数
+	public static final String TPOINT_WT_DJTS = "DJTS"; // 待机台数
+	public static final String TPOINT_WT_WHTJ = "WHTJ";// 维护台数
+	public static final String TPOINT_WT_GZTJ = "GZTJ";// 故障台数
+	public static final String TPOINT_WT_TXZD = "TXZD";// 离线台数
+
+	public static final String TPOINT_WT_U1YZDL = "AI061";// U1项绕组电流
+	public static final String TPOINT_WT_U2YZDL = "AI062";// U2项绕组电流
+	public static final String TPOINT_WT_U3YZDL = "AI063";// U3项绕组电流
+	public static final String TPOINT_WT_U1YZDY = "AI058";// U1项绕组电压
+	public static final String TPOINT_WT_U2YZDY = "AI059";// U2项绕组电压
+	public static final String TPOINT_WT_U3YZDY = "AI060";// U3项绕组电压
+	public static final String QSTPOINT_WT_U1YZDL = "AI210";// U1项绕组电流
+	public static final String QSTPOINT_WT_U2YZDL = "AI211";// U2项绕组电流
+	public static final String QSTPOINT_WT_U3YZDL = "AI212";// U3项绕组电流
+	public static final String QSTPOINT_WT_U1YZDY = "AI207";// U1项绕组电压
+	public static final String QSTPOINT_WT_U2YZDY = "AI208";// U2项绕组电压
+	public static final String QSTPOINT_WT_U3YZDY = "AI209";// U3项绕组电压
+	public static final String TPOINT_WT_FDJZS = "AI128";// 发电机转速
+	public static final String QSTPOINT_WT_FDJZS = "AI223";// 发电机转速
+	public static final String TPOINT_WT_U1YZWD = "AI045";// U1绕组温度
+	public static final String QSTPOINT_WT_U1YZWD = "AI188";// U1绕组温度
+	public static final String TPOINT_WT_V1YZWD = "AI047";// V1绕组温度
+	public static final String QSTPOINT_WT_V1YZWD = "AI189";// V1绕组温度
+	public static final String TPOINT_WT_W1YZWD = "AI049";// W1绕组温度
+	public static final String QSTPOINT_WT_W1YZWD = "AI190";// W1绕组温度
+	public static final String TPOINT_WT_U2YZWD = "AI046";// U2绕组温度
+	public static final String TPOINT_WT_V2YZWD = "AI048";// V2绕组温度
+	public static final String TPOINT_WT_W2YZWD = "AI050";// W2绕组温度
+	public static final String TPOINT_WT_YLZS = "AI012";// 叶轮转速
+	public static final String TPOINT_WT_FJJJJ = "AI085";// 风机浆距角
+	public static final String TPOINT_WT_DWZWD = "AI038";// 齿轮箱轴1温度
+	public static final String TPOINT_WT_GWZWD = "AI039";// 齿轮箱轴2温度
+	public static final String TPOINT_WT_CLXWD = "AI041";// 齿轮箱油温
+	public static final String TPOINT_WT_BJJD1 = "AI076";// 变桨角度1
+	public static final String QSTPOINT_WT_BJJD1 = "AI184";// 青山变桨角度1
+	public static final String TPOINT_WT_PHWZ = "AI034";// 偏航位置
+	public static final String QSTPOINT_WT_PHWZ = "AI206";// 偏航位置
+	public static final String TPOINT_WT_PJFS = "RPJFS"; // 日平均风速
+	public static final String TPOINT_WT_FJGL = "AI130";// 风机功率
+	public static final String TPOINT_WT_PJGL = "RPJGL";// 风机平均功率
+	public static final String TPOINT_WT_GLYS = "AI067";// 功率因数
+	public static final String TPOINT_WT_JCWWD = "AI056";// 机舱外温度
+	public static final String TPOINT_WT_JCWD = "AI057";// 机舱温度
+	public static final String TPOINT_WT_TDGWD = "AI069";// 塔底柜温度
+	public static final String TPOINT_WT_TDGWD2 = "AI234";// 塔底柜温度2
+	public static final String TPOINT_WT_TDGWD3 = "AI235";// 塔底柜温度3
+	public static final String TPOINT_WT_JCGWD = "AI069";// 机舱柜温度
+	public static final String TPOINT_WT_FJFX = "AI008";// 风机风向
+	public static final String TPOINT_WT_DFJD = "AI036";// 对风角度
+	public static final String TPOINT_WT_FJPL = "AI068";// 风机频率
+	public static final String TPOINT_WT_WGGL = "AI131";// 无功功率
+	public static final String TPOINT_WT_FJKYL = "AI001";// 风机可用率
+	public static final String TPOINT_WT_FJZSXZ = "AI051";// 风机转速限值
+	public static final String TPOINT_WT_FJSSFS = "AI022";// 风机实时风速
+
+	public static final String TPOINT_WT_60FX = "AI011";// 风机60秒风向
+	public static final String TPOINT_WT_60PJFS = "AI024";// 风机60秒平均风速
+	public static final String TPOINT_WT_1MPJJJY = "AI032";// 1秒平均桨距叶片位置
+	public static final String TPOINT_WT_CLXRKYW = "AI040";// 齿轮箱入口油温
+	public static final String TPOINT_WT_CLXRHYLW = "AI044";// 齿轮箱润滑油滤网出口压力
+	public static final String TPOINT_WT_DWGL = "AI065";// 电网功率
+	public static final String TPOINT_WT_DWWGGL = "AI066";// 电网无功功率
+	public static final String TPOINT_WT_TDGNWD = "AI070";// 塔顶柜温度
+	public static final String TPOINT_WT_YLCZZWD = "AI071";// 叶轮侧主轴轴承温度
+	public static final String TPOINT_WT_CLXCZZWD = "AI072";// 齿轮箱侧主轴轴承温度
+
+	public static final String TPOINT_WT_FDJZCAWD = "AI052";// 发电机轴承A温度
+	public static final String TPOINT_WT_FDJZCBWD = "AI053";// 发电机轴承B温度
+
+	public static final String TPOINT_WT_FDJZGZ = "DI236";// 发电机总故障
+	public static final String TPOINT_WT_CLXZGZ = "DI260";// 齿轮箱总故障
+	public static final String TPOINT_WT_BJZGZ = "DI630";// 变桨温度总故障
+
+	public static final String TPOINT_WT_FJGLKZXZ = "AI426";// UP97 取值 功率控制限值
+	public static final String TPOINT_WT_LLGL = "BZGL";// 风机理论功率
+	public static final String TPOINT_WT_YFGL = "ZSGL";// 风机应发功率
+	public static final String TPOINT_WT_RFDLBZ = "RFDLZS";// 日理论发电量
+
+	// public static final String TPOINT_WT_RFDLBZ = "RFDLLL";//日理论发电量
+
+	public static final String TPOINT_WT_RFDLZS = "RFDLZS";// 日应发电量
+
+	public static final String TPOINT_WT_NBQJLDY = "AIG061";// 逆变器交流电压
+	public static final String TPOINT_WT_NBQJLDL = "AIG060";// 逆变器交流电流
+	public static final String TPOINT_WT_XHNBQJLDL = "AIG0601";// 逆变器交流电流
+	public static final String TPOINT_WT_NBQZLDY = "AIG081";// 逆变器直流电压
+	public static final String TPOINT_WT_NBQZLDL = "AIG078";// 逆变器直流电流
+
+
+	public static final String TPOINT_WT_NBQPL = "AIG073";// 逆变器频率
+	public static final String TPOINT_WT_NBQGLYSSZ = "AIG069";// 功率因数设置
+	public static final String TPOINT_WT_NBQGLYSSZ2 = "AIG104";// 功率因数设置
+	public static final String TPOINT_WT_NBQZFDL = "AIG064";// 逆变相总发电量
+	public static final String TPOINT_WT_NBQKQWD = "AIG071";// 逆变器空气温度
+	public static final String TPOINT_WT_NBQXL = "AIG072";// 逆变器效率
+
+	public static final String TPOINT_WT_DRQWD1 = "AI113";// 电容器温度1
+	public static final String TPOINT_WT_DRQWD2 = "AI114";// 电容器温度2
+	public static final String TPOINT_WT_DRQWD3 = "AI115";// 电容器温度3
+	public static final String TPOINT_WT_BLQWD = "AI239";// 变桨变流器温度
+	public static final String TPOINT_WT_BLQWD2 = "AI240";// 变频器温度2
+	public static final String TPOINT_WT_BLQWD3 = "AI241";// 变频器温度3
+	public static final String TPOINT_WT_DJWD = "AI242";// 伺服电机温度
+	public static final String TPOINT_WT_DJWD2 = "AI243";// 电机温度2
+	public static final String TPOINT_WT_DJWD3 = "AI244";// 电机温度3
+	public static final String TPOINT_WT_BJLGWD1 = "AI263";// 变桨1轮毂温度
+	public static final String TPOINT_WT_BJLGWD2 = "AI264";// 变桨2轮毂温度
+	public static final String TPOINT_WT_BJLGWD3 = "AI265";// 变桨3轮毂温度
+	public static final String TPOINT_WT_BPQDJZS = "AI128";// 变频器电机转速
+	public static final String TPOINT_WT_BPQGL = "AI130";// 变频器功率
+	public static final String TPOINT_WT_BPQWGGL = "AI131";// 变频器无功功率
+
+	public static final String RFDLD = "RFDLD"; // 日理论发电量
+	public static final String RFDLE = "RFDLE"; // 日应发发电量
+	public static final String FJZT = "FJZT"; // 风场状态
+
+	public static final String ZBZGL = "ZBZGL";// 理论功率
+	public static final String ZSGLZZSGL = "ZZSGL";// 应发功率
+
+	public static final String RLZSSDL = "RLZSSDL"; // 日场内受累检修
+	public static final String RSZSSDL = "RSZSSDL"; // 日场内受累故障
+	public static final String RWZSSDL = "RWZSSDL"; // 日场外受累电网
+	public static final String RTZSSDL = "RTZSSDL"; // 日场外受累天气
+
+	public static final String YLZSSDL = "YLZSSDL"; // 月场内受累检修
+	public static final String YSZSSDL = "YSZSSDL"; // 月场内受累故障
+	public static final String YWZSSDL = "YWZSSDL"; // 月场外受累电网
+	public static final String YTZSSDL = "YTZSSDL"; // 月场外受累天气
+
+	public static final String NLZSSDL = "NLZSSDL"; // 年场内受累检修
+	public static final String NSZSSDL = "NSZSSDL"; // 年场内受累故障
+	public static final String NWZSSDL = "NWZSSDL"; // 年场外受累电网
+	public static final String NTZSSDL = "NTZSSDL"; // 年场外受累天气
+
+	public static final String RQFSSDL = "RQFSSDL"; // 日欠发损失电量
+	public static final String RGZSSDL = "RGZSSDL"; // 日故障损失电量
+	public static final String RJXSSDL = "RJXSSDL"; // 日检修损失电量
+	public static final String RXDSSDL = "RXDSSDL"; // 日限电损失电量
+
+	public static final String YQFSSDL = "YQFSSDL"; // 月欠发损失电量
+	public static final String YGZSSDL = "YGZSSDL"; // 月故障损失电量
+	public static final String YJXSSDL = "YJXSSDL"; // 月检修损失电量
+	public static final String YXDSSDL = "YXDSSDL"; // 月限电损失电量
+
+	public static final String NQFSSDL = "NQFSSDL"; // 年欠发损失电量
+	public static final String NGZSSDL = "NGZSSDL"; // 年故障损失电量
+	public static final String NJXSSDL = "NJXSSDL"; // 年检修损失电量
+	public static final String NXDSSDL = "NXDSSDL"; // 年限电损失电量
+
+	public static final String FCCFTFS10 = "FCCFTFS10";// 测风塔10米风速
+	public static final String FCCFTFS30 = "FCCFTFS30";// 测风塔30米风速
+	public static final String FCCFTFS50 = "FCCFTFS50";// 测风塔50米风速
+	public static final String FCCFTFS60 = "FCCFTFS60";// 测风塔60米风速
+	public static final String FCCFTFS70 = "FCCFTFS70";// 测风塔70米风速
+	public static final String FCCFTFS80 = "FCCFTFS80";// 测风塔80米风速
+
+	public static final String FCCFTFX10 = "FCCFTFX10";// 测风塔10米风向
+	public static final String FCCFTFX30 = "FCCFTFX30";// 测风塔30米风向
+	public static final String FCCFTFX50 = "FCCFTFX50";// 测风塔50米风向
+	public static final String FCCFTFX60 = "FCCFTFX60";// 测风塔60米风向
+	public static final String FCCFTFX70 = "FCCFTFX70";// 测风塔70米风向
+	public static final String FCCFTFX80 = "FCCFTFX80";// 测风塔80米风向
+
+	public static final String FCCFTWD = "FCCFTWD";// 测风塔温度
+	public static final String FCCFTSD = "FCCFTSD";// 测风塔湿度
+	public static final String FCCFTYQ = "FCCFTYQ";// 测风塔压强
+
+	public static final String FJJKJL = "JKJL001";// 风机健康状态值
+	public static final String CLXJKJL = "JKJL002";// 齿轮箱健康状态值
+	public static final String FDJJKJL = "JKJL003";// 发电机健康状态值
+	public static final String BJJKJL = "JKJL004";// 变桨健康值
+	public static final String ZKJKJL = "JKJL005";// 主控健康状态值
+
+	public static final String FJLHSL = "JKSLLH001";// 风机良好健康状态数量
+	public static final String FJZCSL = "JKSLHG001";// 风机正常健康状态数量
+	public static final String FJZYSL = "JKSLZY001";// 风机注意健康状态数量
+	public static final String FJYZSL = "JKSLYZ001";// 风机严重健康状态数量
+
+	public static final String YCFJJKZT4HOUR = "JKYC001";// 风机健康状态未来4小时
+	public static final String YCFJJKZT1DAY = "JKYC006";// 风机健康状态未来1天
+	public static final String YCFJJKZT3DAY = "JKYC011";// 风机健康状态未来3天
+	public static final String YCFJJKZT7DAY = "JKYC016";// 风机健康状态未来7天
+	public static final String YCFJJKZT1MONTH = "JKYC021";// 风机健康状态未来1个月
+
+	public static final String FJJKZZ = "JKZT100";// 风机健康总状态得分
+
+	public static final String FJJKZT = "JKZT001";// 风机健康状态
+	public static final String CLXJKZT = "JKZT002";// 齿轮箱健康状态
+	public static final String FDJJKZT = "JKZT003";// 发电机健康状态
+	public static final String BJJKZT = "JKZT004";// 变桨健康
+	public static final String ZKJKZT = "JKZT005";// 主控健康状态
+
+	public static final String D4_GZYC = "D4_GZYC";// 第四范式故障预测
+	public static final String D4_1TXNXJ = "D4_1TXNXJ";// 第四范式1天性能下降
+	public static final String D4_3TXNXJ = "D4_3TXNXJ";// 第四范式3天性能下降
+
+	// agc 新增
+	public static final String TPOINT_WP_ZZSGL = "ZZSGL";// 总应发功率 实时
+
+	public static final String[] TPOINT_WP_AGC = { "ZLLGL", "SSZGL", "AGC002",
+			"AGC001", "AGC003", "AGC004", "AGC005", "AGC006", "AGC007",
+			"AGC008", "AVC001", "AVC002", "AVC003", "AVC004", "AVC005",
+			"AVC006", "AVC007", "AVC008" };
+	// 理论功率,出线功率,限电指令,AGC远方,AGC投退,有功上线,有功下线,AVC母线电压实际,AVC母线电压调控,增闭锁,减闭锁,可减无功,可憎无功,子站投退,子站运行,增无功闭锁,减无功闭锁
+	public static final String[] TPOINT_WP_MWAGC = { "DI43344", "DI46933",
+			"AGC0066", "AGC0077", "DI53266", "DI53277" };
+
+	public static final String[] TPOINT_WP_AGCYCGL = { "FCFGCDQ0001",
+			"FCFGCDQ0002", "FCFGCDQ0003", "FCFGCDQ0004", "FCFGCDQ0005",
+			"FCFGCDQ0006", "FCFGCDQ0007", "FCFGCDQ0008", "FCFGCDQ0009",
+			"FCFGCDQ0010", "FCFGCDQ0011", "FCFGCDQ0012", "FCFGCDQ0013",
+			"FCFGCDQ0014", "FCFGCDQ0015", "FCFGCDQ0016" };
+	public static final String TPOINT_WP_ZLLGL = "ZLLGL";// 总理论功率
+
+	// 新五项损失
+	// 新五项损失
+	public static final String RSDJZSDL = "RSDJZSDL";// 日待机损失电量
+	public static final String RSSTZSDL = "RSSTZSDL";// 日手动停机
+	public static final String RXNZSDL = "RXNZSDL";// 日性能损失
+	public static final String RSQXZSDL = "RSQXZSDL";// 日缺陷将出力
+
+	public static final String YSDJZSDL = "RSDJZSDL";// 月待机损失电量
+	public static final String YSSTZSDL = "RSSTZSDL";// 月手动停机
+	public static final String YXNZSDL = "RXNZSDL";// 月性能损失
+	public static final String YSQXZSDL = "RSQXZSDL";// 月缺陷将出力
+
+	public static final String NSDJZSDL = "RSDJZSDL";// 年待机损失电量
+	public static final String NSSTZSDL = "RSSTZSDL";// 年手动停机
+	public static final String NXNZSDL = "RXNZSDL";// 年性能损失
+	public static final String NSQXZSDL = "RSQXZSDL";// 年缺陷将出力
+	public static final String RGZZSDL = "RGZZSDL";// 故障
+	public static final String RSZZSDL = "RSZZSDL";// 故障
+	public static final String RJXZSDL = "RJXZSDL";// 维护
+	public static final String RLZZSDL = "RLZZSDL";// 维护
+	public static final String RQFZSDL = "RQFZSDL";// 限电
+	public static final String RXDZSDL = "RXDZSDL";// 限电
+	public static final String RWZZSDL = "RWZZSDL";// 受累
+	public static final String RTZZSDL = "RTZZSDL";// 受累
+
+	/* 风机实时数据,缺少限出力 */
+	public static final String AI130 = "AI130";//
+	public static final String ZSGL = "ZSGL";//
+	public static final String LLGL = "LLGL";//
+	public static final String BZGL = "BZGL";//
+	public static final String ZHGL = "ZHGL";//
+	public static final String AI134 = "AI134";//
+	public static final String AI426 = "AI426";//
+	public static final String FJZTT = "FJZT";//
+
+	/* 风机实时数据,缺少限出力 */
+	public static final String JSSSFS = "AI022";//
+	public static final String TPOINT_WT_FDJLQFWD = "AI054";// 发电机冷却风温度
+	public static final String TPOINT_WT_BJDRQWD = "AI113";// 变桨电容器温度
+	public static final String TPOINT_WT_BJDRDY = "AI236";// 变桨电容温度
+	public static final String TPOINT_WT_BJDLQWD = "AI239";// 变桨电流器温度
+	public static final String TPOINT_WT_BJDJWD = "AI242";// 电机温度
+	public static final String TPOINT_WT_BJKZGWD = "AI233";// 变桨控制柜温度
+
+	public static final String GISIP = "http://10.155.32.4:8070/gisweb/ditujiankang.html?LAT=106.23507&LNG=38.48989&userid=1500";
+}

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

@@ -47,7 +47,7 @@ public class InitialRunner implements CommandLineRunner {
     public static List<Windturbine> wtls = new ArrayList<Windturbine>(); // 风电机LIST集合
 
 //    public static List<Line> lnls = new ArrayList<Line>(); // 线路LIST集合
-
+    public static Map<String, Windpowerstation>  wpmap = new HashMap<String, Windpowerstation>();
     public static Map<String, Windturbine>  wtmap = new HashMap<String, Windturbine>();
     public static Map<String, List<Windturbine>> wp_wtmap = new HashMap<String, List<Windturbine>>();
     public static Map<String, List<Windturbine>> pj_wtmap = new HashMap<String, List<Windturbine>>();
@@ -57,6 +57,7 @@ public class InitialRunner implements CommandLineRunner {
     public static Map<String, Map<String, WindPowerStationTestingPoint2>> stationPointmap = new HashMap<String, Map<String, WindPowerStationTestingPoint2>>();//场站测点
     public static Map<String, CopyOnWriteArraySet<String>> keyidMap = new HashMap<String, CopyOnWriteArraySet<String>>();
     public static Map<String, Map<Double, Windturbinepowercurvefitting>> wpcmap = new HashMap<String, Map<Double, Windturbinepowercurvefitting>>();
+
     @Override
     public void run(String... args) throws Exception {
         //System.out.println(">>>>>>>>>>>>>>>服务启动执行,换成测点关联数据 <<<<<<<<<<<<<");
@@ -74,8 +75,15 @@ public class InitialRunner implements CommandLineRunner {
 
         WindpowerstationExample windpowerstationExample=new WindpowerstationExample();
         windpowerstationExample.setOrderByClause("ordernum ASC");
-        windpowerstationExample.createCriteria().andIdNotLike("%MCH%");
+//        windpowerstationExample.createCriteria().andIdNotLike("%MCH%");
         wpallls= windpowerstationService.selectByExample(windpowerstationExample);
+        if(!wpallls.isEmpty())
+        {
+            for(Windpowerstation wp:wpallls)
+            {
+                wpmap.put(wp.getId(),wp);
+            }
+        }
 
         windpowerstationExample=new WindpowerstationExample();
         windpowerstationExample.setOrderByClause("ordernum ASC");

+ 102 - 0
src/main/java/com/gyee/frame/mapper/auto/RecommenmainMapper.java

@@ -0,0 +1,102 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.ChatDetail;
+import com.gyee.frame.model.auto.Recommenmain;
+import com.gyee.frame.model.auto.RecommenmainExample;
+import java.util.List;
+
+import com.gyee.frame.model.custom.RecommenVo;
+import org.apache.ibatis.annotations.Param;
+
+public interface RecommenmainMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    long countByExample(RecommenmainExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(RecommenmainExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String rid);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int insert(Recommenmain record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int insertSelective(Recommenmain record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    List<Recommenmain> selectByExample(RecommenmainExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    Recommenmain selectByPrimaryKey(String rid);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") Recommenmain record, @Param("example") RecommenmainExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") Recommenmain record, @Param("example") RecommenmainExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(Recommenmain record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(Recommenmain record);
+
+    List<RecommenVo> findConfirmedList();
+
+}

+ 576 - 0
src/main/java/com/gyee/frame/model/auto/Recommenmain.java

@@ -0,0 +1,576 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class Recommenmain implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.RID
+     *
+     * @mbg.generated
+     */
+    private String rid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.ID
+     *
+     * @mbg.generated
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    private Date recodedate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    private Date createdate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.SPEED
+     *
+     * @mbg.generated
+     */
+    private BigDecimal speed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.REASON
+     *
+     * @mbg.generated
+     */
+    private String reason;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.ISMAIN
+     *
+     * @mbg.generated
+     */
+    private String ismain;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.WOBUGID
+     *
+     * @mbg.generated
+     */
+    private String wobugid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.OPERATION
+     *
+     * @mbg.generated
+     */
+    private String operation;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.OPERATIONDATE
+     *
+     * @mbg.generated
+     */
+    private Date operationdate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.REMARK
+     *
+     * @mbg.generated
+     */
+    private String remark;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.BAK1
+     *
+     * @mbg.generated
+     */
+    private String bak1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.BAK2
+     *
+     * @mbg.generated
+     */
+    private String bak2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.WPID
+     *
+     * @mbg.generated
+     */
+    private String wpid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.WTNUM
+     *
+     * @mbg.generated
+     */
+    private Integer wtnum;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column RECOMMENMAIN.WPNUM
+     *
+     * @mbg.generated
+     */
+    private Integer wpnum;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table RECOMMENMAIN
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.RID
+     *
+     * @return the value of RECOMMENMAIN.RID
+     *
+     * @mbg.generated
+     */
+    public String getRid() {
+        return rid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.RID
+     *
+     * @param rid the value for RECOMMENMAIN.RID
+     *
+     * @mbg.generated
+     */
+    public void setRid(String rid) {
+        this.rid = rid == null ? null : rid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.ID
+     *
+     * @return the value of RECOMMENMAIN.ID
+     *
+     * @mbg.generated
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.ID
+     *
+     * @param id the value for RECOMMENMAIN.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.WTID
+     *
+     * @return the value of RECOMMENMAIN.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.WTID
+     *
+     * @param wtid the value for RECOMMENMAIN.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.RECODEDATE
+     *
+     * @return the value of RECOMMENMAIN.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecodedate() {
+        return recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.RECODEDATE
+     *
+     * @param recodedate the value for RECOMMENMAIN.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecodedate(Date recodedate) {
+        this.recodedate = recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.CREATEDATE
+     *
+     * @return the value of RECOMMENMAIN.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getCreatedate() {
+        return createdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.CREATEDATE
+     *
+     * @param createdate the value for RECOMMENMAIN.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    public void setCreatedate(Date createdate) {
+        this.createdate = createdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.SPEED
+     *
+     * @return the value of RECOMMENMAIN.SPEED
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getSpeed() {
+        return speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.SPEED
+     *
+     * @param speed the value for RECOMMENMAIN.SPEED
+     *
+     * @mbg.generated
+     */
+    public void setSpeed(BigDecimal speed) {
+        this.speed = speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.REASON
+     *
+     * @return the value of RECOMMENMAIN.REASON
+     *
+     * @mbg.generated
+     */
+    public String getReason() {
+        return reason;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.REASON
+     *
+     * @param reason the value for RECOMMENMAIN.REASON
+     *
+     * @mbg.generated
+     */
+    public void setReason(String reason) {
+        this.reason = reason == null ? null : reason.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.ISMAIN
+     *
+     * @return the value of RECOMMENMAIN.ISMAIN
+     *
+     * @mbg.generated
+     */
+    public String getIsmain() {
+        return ismain;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.ISMAIN
+     *
+     * @param ismain the value for RECOMMENMAIN.ISMAIN
+     *
+     * @mbg.generated
+     */
+    public void setIsmain(String ismain) {
+        this.ismain = ismain == null ? null : ismain.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.WOBUGID
+     *
+     * @return the value of RECOMMENMAIN.WOBUGID
+     *
+     * @mbg.generated
+     */
+    public String getWobugid() {
+        return wobugid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.WOBUGID
+     *
+     * @param wobugid the value for RECOMMENMAIN.WOBUGID
+     *
+     * @mbg.generated
+     */
+    public void setWobugid(String wobugid) {
+        this.wobugid = wobugid == null ? null : wobugid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.OPERATION
+     *
+     * @return the value of RECOMMENMAIN.OPERATION
+     *
+     * @mbg.generated
+     */
+    public String getOperation() {
+        return operation;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.OPERATION
+     *
+     * @param operation the value for RECOMMENMAIN.OPERATION
+     *
+     * @mbg.generated
+     */
+    public void setOperation(String operation) {
+        this.operation = operation == null ? null : operation.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.OPERATIONDATE
+     *
+     * @return the value of RECOMMENMAIN.OPERATIONDATE
+     *
+     * @mbg.generated
+     */
+    public Date getOperationdate() {
+        return operationdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.OPERATIONDATE
+     *
+     * @param operationdate the value for RECOMMENMAIN.OPERATIONDATE
+     *
+     * @mbg.generated
+     */
+    public void setOperationdate(Date operationdate) {
+        this.operationdate = operationdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.REMARK
+     *
+     * @return the value of RECOMMENMAIN.REMARK
+     *
+     * @mbg.generated
+     */
+    public String getRemark() {
+        return remark;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.REMARK
+     *
+     * @param remark the value for RECOMMENMAIN.REMARK
+     *
+     * @mbg.generated
+     */
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.BAK1
+     *
+     * @return the value of RECOMMENMAIN.BAK1
+     *
+     * @mbg.generated
+     */
+    public String getBak1() {
+        return bak1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.BAK1
+     *
+     * @param bak1 the value for RECOMMENMAIN.BAK1
+     *
+     * @mbg.generated
+     */
+    public void setBak1(String bak1) {
+        this.bak1 = bak1 == null ? null : bak1.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.BAK2
+     *
+     * @return the value of RECOMMENMAIN.BAK2
+     *
+     * @mbg.generated
+     */
+    public String getBak2() {
+        return bak2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.BAK2
+     *
+     * @param bak2 the value for RECOMMENMAIN.BAK2
+     *
+     * @mbg.generated
+     */
+    public void setBak2(String bak2) {
+        this.bak2 = bak2 == null ? null : bak2.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.WPID
+     *
+     * @return the value of RECOMMENMAIN.WPID
+     *
+     * @mbg.generated
+     */
+    public String getWpid() {
+        return wpid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.WPID
+     *
+     * @param wpid the value for RECOMMENMAIN.WPID
+     *
+     * @mbg.generated
+     */
+    public void setWpid(String wpid) {
+        this.wpid = wpid == null ? null : wpid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.WTNUM
+     *
+     * @return the value of RECOMMENMAIN.WTNUM
+     *
+     * @mbg.generated
+     */
+    public Integer getWtnum() {
+        return wtnum;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.WTNUM
+     *
+     * @param wtnum the value for RECOMMENMAIN.WTNUM
+     *
+     * @mbg.generated
+     */
+    public void setWtnum(Integer wtnum) {
+        this.wtnum = wtnum;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column RECOMMENMAIN.WPNUM
+     *
+     * @return the value of RECOMMENMAIN.WPNUM
+     *
+     * @mbg.generated
+     */
+    public Integer getWpnum() {
+        return wpnum;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column RECOMMENMAIN.WPNUM
+     *
+     * @param wpnum the value for RECOMMENMAIN.WPNUM
+     *
+     * @mbg.generated
+     */
+    public void setWpnum(Integer wpnum) {
+        this.wpnum = wpnum;
+    }
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1424 - 0
src/main/java/com/gyee/frame/model/auto/RecommenmainExample.java


+ 84 - 0
src/main/java/com/gyee/frame/model/custom/RecommenVo.java

@@ -0,0 +1,84 @@
+
+package com.gyee.frame.model.custom;
+
+import java.util.Date;
+
+/**
+ *
+ */
+
+public class RecommenVo {
+
+    private Integer num;
+    private String rid;
+    private String wtid;
+    private String wpid;
+    private String reason;
+    private Double speed;
+    private Date recodedate;
+    private Date createdate;
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+
+    public String getRid() {
+        return rid;
+    }
+
+    public void setRid(String rid) {
+        this.rid = rid;
+    }
+
+    public String getWtid() {
+        return wtid;
+    }
+
+    public void setWtid(String wtid) {
+        this.wtid = wtid;
+    }
+
+    public String getWpid() {
+        return wpid;
+    }
+
+    public void setWpid(String wpid) {
+        this.wpid = wpid;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    public Double getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+
+    public Date getRecodedate() {
+        return recodedate;
+    }
+
+    public void setRecodedate(Date recodedate) {
+        this.recodedate = recodedate;
+    }
+
+    public Date getCreatedate() {
+        return createdate;
+    }
+
+    public void setCreatedate(Date createdate) {
+        this.createdate = createdate;
+    }
+}

+ 4 - 4
src/main/java/com/gyee/frame/service/ProjectplanService.java

@@ -146,8 +146,8 @@ public class ProjectplanService implements BaseService<Projectplan, ProjectplanE
 
         if(name.equals("0"))
         {
-            example.createCriteria().andWindpowerNotLike("%MCH_GDC").andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
-
+          //  example.createCriteria().andWindpowerNotLike("%MCH_GDC").andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
+            example.createCriteria().andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
         }else
         {
             example.createCriteria().andWindpowerEqualTo(name).andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
@@ -175,8 +175,8 @@ public class ProjectplanService implements BaseService<Projectplan, ProjectplanE
 
         if(name.equals("0"))
         {
-            example.createCriteria().andWindpowerNotLike("%MCH_GDC").andYearEqualTo(String.valueOf(year)).andMonthIsNull();
-
+//            example.createCriteria().andWindpowerNotLike("%MCH_GDC").andYearEqualTo(String.valueOf(year)).andMonthIsNull();
+            example.createCriteria().andYearEqualTo(String.valueOf(year)).andMonthIsNull();
         }else
         {
             example.createCriteria().andWindpowerEqualTo(name).andYearEqualTo(String.valueOf(year)).andMonthIsNull();

+ 202 - 0
src/main/java/com/gyee/frame/service/health/HealthMainService.java

@@ -0,0 +1,202 @@
+package com.gyee.frame.service.health;
+
+
+import com.gyee.Constant;
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.mapper.auto.ChatDetailMapper;
+import com.gyee.frame.model.auto.ChatDetail;
+import com.gyee.frame.model.auto.ChatDetailExample;
+import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
+import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.custom.DNAVal;
+import com.gyee.frame.util.Convert;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.RealTimeDataBaseFactory;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ *  ChatDetailService
+ * @Title: ChatDetailService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2020-04-15 16:48:37  
+ **/
+@Service
+public class HealthMainService  {
+	@Resource
+	private ChatDetailMapper chatDetailMapper;
+
+	private IRealTimeDataBaseUtil ednaApiUtil= RealTimeDataBaseFactory.createRealTimeDataBase();
+	public Map<String, Object[]> findAllChartjz(String wpId, int num, int type) throws Exception {
+
+		Map<String, Object[]> map = new HashMap<String, Object[]>();
+
+		if (StringUtils.isNotEmpty(wpId) && StringUtils.isNotEmpty(wpId) && StringUtils.isNotEmpty(wpId)) {
+			String format1 = "yyyy-MM-dd HH点";
+			String format2 = "yyyy-MM-dd";
+			String format3 = "MM-dd";
+
+			SimpleDateFormat df1 = new SimpleDateFormat(format1);
+			SimpleDateFormat df2 = new SimpleDateFormat(format2);
+			SimpleDateFormat df3 = new SimpleDateFormat(format3);
+
+			Calendar cal = Calendar.getInstance();
+
+			String uniformcode = Constant.YCFJJKZT1DAY;
+			switch (type) {
+				case 1:
+					cal.add(Calendar.HOUR_OF_DAY, 2);
+					cal.set(Calendar.MINUTE, 0);
+					cal.set(Calendar.SECOND, 0);
+
+					uniformcode = Constant.YCFJJKZT1DAY;
+					break;
+				case 2:
+					cal.add(Calendar.DAY_OF_MONTH, 0);
+					cal.set(Calendar.HOUR_OF_DAY, 0);
+					cal.set(Calendar.MINUTE, 0);
+					cal.set(Calendar.SECOND, 0);
+
+					//  uniformcode = Constant.YCFJJKZT7DAY;
+					uniformcode = Constant.YCFJJKZT1MONTH;
+					break;
+
+				case 3:
+					cal.add(Calendar.DAY_OF_MONTH, 0);
+					cal.set(Calendar.HOUR_OF_DAY, 0);
+					cal.set(Calendar.MINUTE, 0);
+					cal.set(Calendar.SECOND, 0);
+					uniformcode = Constant.YCFJJKZT1MONTH;
+					break;
+				default:
+					break;
+			}
+
+			int ysl = 0;// 优数量
+			int lsl = 0;// 良数量
+			int csl = 0;// 差数量
+			double jkd = 0.0;
+
+			Double[] yslchart = new Double[num];
+			Double[] lslchart = new Double[num];
+			Double[] cslchart = new Double[num];
+			Double[] lvchart = new Double[num];
+
+			String[] datechart = new String[num];
+			List<Windturbine> wtls = new ArrayList<Windturbine>();
+
+			if (InitialRunner.wpmap.containsKey(wpId)) {
+				wtls = InitialRunner.wp_wtmap.get(wpId);
+			} else {
+				for (Windturbine wt : InitialRunner.wtls) {
+					if (wt.getWindpowerstationid().endsWith("FDC")) {
+						wtls.add(wt);
+					}
+				}
+			}
+
+			List<String> wtidls = new ArrayList<String>();
+			List<String> codejkls = new ArrayList<String>();
+			List<String> codeztls = new ArrayList<String>();
+
+			for (Windturbine wt : wtls) {
+				wtidls.add(wt.getId());
+				codejkls.add(uniformcode);
+
+			}
+
+			String[] jkpoints = new String[wtidls.size()];
+
+			// 获得训练参数对象
+			for (int x = 0; x < wtidls.size(); x++) {
+				// 判断风机编号是否存在
+				if (InitialRunner.wtpAimap.containsKey(wtidls.get(x))) {
+					Map<String, WindTurbineTestingPointAi2> wtmap = InitialRunner.wtpAimap.get(wtidls.get(x));
+					// 判断是否包含该统一编码
+					if (wtmap.containsKey(codejkls.get(x))) {
+						WindTurbineTestingPointAi2 ai = wtmap.get(codejkls.get(x));
+						jkpoints[x] = ai.getId();
+					}
+
+				}
+			}
+
+			for (int i = 0; i < num; i++) {
+				ysl = 0;// 优数量
+				lsl = 0;// 良数量
+				csl = 0;// 差数量
+				jkd = 0.0;
+
+
+				int recodeDate = new BigDecimal(cal.getTime().getTime()).divide(new BigDecimal(1000), 0, RoundingMode.HALF_EVEN).intValue();
+
+				// 获得风机健康状态结果数组
+				DNAVal[] jkvalues = ednaApiUtil.getHistMatrix(jkpoints, recodeDate);
+
+				for (int x = 0; x < wtidls.size(); x++) {
+
+					double jk = jkvalues[x].DValue;
+
+					if (jk == 4.0) {
+
+						csl++;
+					} else if (jk == 3.0) {
+
+						lsl++;
+					} else if (jk == 2.0 || jk == 1.0) {
+
+						ysl++;
+					} else {
+
+						ysl++;
+					}
+				}
+				jkd = new BigDecimal(ysl + lsl).divide(new BigDecimal(wtidls.size()), 4, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
+
+				yslchart[i] = Double.valueOf(ysl);
+				lslchart[i] = Double.valueOf(lsl);
+				cslchart[i] = Double.valueOf(csl);
+				lvchart[i] = Double.valueOf(jkd);
+
+				switch (type) {
+					case 1:
+						datechart[i] = df1.format(cal.getTime());
+						cal.add(Calendar.HOUR_OF_DAY, 2);
+
+						break;
+					case 2:
+						datechart[i] = df2.format(cal.getTime());
+						cal.add(Calendar.DAY_OF_MONTH, 1);
+						break;
+					case 3:
+						datechart[i] = df3.format(cal.getTime());
+						cal.add(Calendar.DAY_OF_MONTH, 1);
+						break;
+					default:
+						break;
+				}
+
+			}
+
+			map.put("yslchart", yslchart);
+			map.put("lslchart", lslchart);
+			map.put("cslchart", cslchart);
+			map.put("lvchart", lvchart);
+			map.put("datechart", datechart);
+
+		}
+
+		return map;
+
+	}
+
+}

+ 107 - 0
src/main/java/com/gyee/frame/service/health/RecommenmainService.java

@@ -0,0 +1,107 @@
+package com.gyee.frame.service.health;
+
+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.RecommenmainMapper;
+import com.gyee.frame.model.auto.*;
+import com.gyee.frame.model.custom.RecommenVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.WeatherfhService;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.*;
+
+@Service
+public class RecommenmainService implements BaseService<Recommenmain, RecommenmainExample> {
+    @Autowired
+    private RecommenmainMapper recommenmainMapper;
+
+
+    @Override
+    public int deleteByPrimaryKey(String ids) {
+
+        List<Integer> lista = Convert.toIntArrayList(ids);
+        RecommenmainExample example = new RecommenmainExample();
+        example.createCriteria().andIdIn(lista);
+        return recommenmainMapper.deleteByExample(example);
+
+
+    }
+
+
+    @Override
+    public Recommenmain selectByPrimaryKey(String id) {
+
+        return recommenmainMapper.selectByPrimaryKey(id);
+
+    }
+
+
+    @Override
+    public int updateByPrimaryKeySelective(Recommenmain record) {
+        return recommenmainMapper.updateByPrimaryKeySelective(record);
+    }
+
+
+    /**
+     * 添加
+     */
+    @Override
+    public int insertSelective(Recommenmain record) {
+
+        return recommenmainMapper.insertSelective(record);
+    }
+
+
+    @Override
+    public int updateByExampleSelective(Recommenmain record, RecommenmainExample example) {
+
+        return recommenmainMapper.updateByExampleSelective(record, example);
+    }
+
+
+    @Override
+    public int updateByExample(Recommenmain record, RecommenmainExample example) {
+
+        return recommenmainMapper.updateByExample(record, example);
+    }
+
+    @Override
+    public List<Recommenmain> selectByExample(RecommenmainExample example) {
+
+        return recommenmainMapper.selectByExample(example);
+    }
+
+
+    @Override
+    public long countByExample(RecommenmainExample example) {
+
+        return recommenmainMapper.countByExample(example);
+    }
+
+
+    @Override
+    public int deleteByExample(RecommenmainExample example) {
+
+        return recommenmainMapper.deleteByExample(example);
+    }
+
+
+
+    public List<RecommenVo> findConfirmedList() {
+
+
+        List<RecommenVo> list = recommenmainMapper.findConfirmedList();
+        return list;
+    }
+}

+ 1 - 2
src/main/resources/mybatis-generator.xml

@@ -95,8 +95,7 @@
             <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
         </table>-->
         
-        <table tableName='windturbineinfodaytop2' domainObjectName='Windturbineinfodaytop2'/>
-        <table tableName='daylygradeassessmentmain2' domainObjectName='Daylygradeassessmentmain2'/>
+        <table tableName='recommenmain' domainObjectName='Recommenmain'/>
 
 
     </context>

+ 484 - 0
src/main/resources/mybatis/auto/RecommenmainMapper.xml

@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.RecommenmainMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Recommenmain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="RID" jdbcType="VARCHAR" property="rid" />
+    <result column="ID" jdbcType="DECIMAL" property="id" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="RECODEDATE" jdbcType="TIMESTAMP" property="recodedate" />
+    <result column="CREATEDATE" jdbcType="TIMESTAMP" property="createdate" />
+    <result column="SPEED" jdbcType="DECIMAL" property="speed" />
+    <result column="REASON" jdbcType="VARCHAR" property="reason" />
+    <result column="ISMAIN" jdbcType="VARCHAR" property="ismain" />
+    <result column="WOBUGID" jdbcType="VARCHAR" property="wobugid" />
+    <result column="OPERATION" jdbcType="VARCHAR" property="operation" />
+    <result column="OPERATIONDATE" jdbcType="TIMESTAMP" property="operationdate" />
+    <result column="REMARK" jdbcType="VARCHAR" property="remark" />
+    <result column="BAK1" jdbcType="VARCHAR" property="bak1" />
+    <result column="BAK2" jdbcType="VARCHAR" property="bak2" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+    <result column="WTNUM" jdbcType="DECIMAL" property="wtnum" />
+    <result column="WPNUM" jdbcType="DECIMAL" property="wpnum" />
+  </resultMap>
+
+  <resultMap id="RecommenVoMap" type="com.gyee.frame.model.custom.RecommenVo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="RID" jdbcType="VARCHAR" property="rid" />
+    <result column="NUM" jdbcType="DECIMAL" property="num" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="RECODEDATE" jdbcType="TIMESTAMP" property="recodedate" />
+    <result column="CREATEDATE" jdbcType="TIMESTAMP" property="createdate" />
+    <result column="SPEED" jdbcType="DECIMAL" property="speed" />
+    <result column="REASON" jdbcType="VARCHAR" property="reason" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    RID, ID, WTID, RECODEDATE, CREATEDATE, SPEED, REASON, ISMAIN, WOBUGID, OPERATION, 
+    OPERATIONDATE, REMARK, BAK1, BAK2, WPID, WTNUM, WPNUM
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.RecommenmainExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from RECOMMENMAIN
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from RECOMMENMAIN
+    where RID = #{rid,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from RECOMMENMAIN
+    where RID = #{rid,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.RecommenmainExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from RECOMMENMAIN
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Recommenmain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into RECOMMENMAIN (RID, ID, WTID, 
+      RECODEDATE, CREATEDATE, SPEED, 
+      REASON, ISMAIN, WOBUGID, 
+      OPERATION, OPERATIONDATE, REMARK, 
+      BAK1, BAK2, WPID, WTNUM, 
+      WPNUM)
+    values (#{rid,jdbcType=VARCHAR}, #{id,jdbcType=DECIMAL}, #{wtid,jdbcType=VARCHAR}, 
+      #{recodedate,jdbcType=TIMESTAMP}, #{createdate,jdbcType=TIMESTAMP}, #{speed,jdbcType=DECIMAL}, 
+      #{reason,jdbcType=VARCHAR}, #{ismain,jdbcType=VARCHAR}, #{wobugid,jdbcType=VARCHAR}, 
+      #{operation,jdbcType=VARCHAR}, #{operationdate,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, 
+      #{bak1,jdbcType=VARCHAR}, #{bak2,jdbcType=VARCHAR}, #{wpid,jdbcType=VARCHAR}, #{wtnum,jdbcType=DECIMAL}, 
+      #{wpnum,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Recommenmain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into RECOMMENMAIN
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="rid != null">
+        RID,
+      </if>
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE,
+      </if>
+      <if test="createdate != null">
+        CREATEDATE,
+      </if>
+      <if test="speed != null">
+        SPEED,
+      </if>
+      <if test="reason != null">
+        REASON,
+      </if>
+      <if test="ismain != null">
+        ISMAIN,
+      </if>
+      <if test="wobugid != null">
+        WOBUGID,
+      </if>
+      <if test="operation != null">
+        OPERATION,
+      </if>
+      <if test="operationdate != null">
+        OPERATIONDATE,
+      </if>
+      <if test="remark != null">
+        REMARK,
+      </if>
+      <if test="bak1 != null">
+        BAK1,
+      </if>
+      <if test="bak2 != null">
+        BAK2,
+      </if>
+      <if test="wpid != null">
+        WPID,
+      </if>
+      <if test="wtnum != null">
+        WTNUM,
+      </if>
+      <if test="wpnum != null">
+        WPNUM,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="rid != null">
+        #{rid,jdbcType=VARCHAR},
+      </if>
+      <if test="id != null">
+        #{id,jdbcType=DECIMAL},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        #{recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createdate != null">
+        #{createdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="speed != null">
+        #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="reason != null">
+        #{reason,jdbcType=VARCHAR},
+      </if>
+      <if test="ismain != null">
+        #{ismain,jdbcType=VARCHAR},
+      </if>
+      <if test="wobugid != null">
+        #{wobugid,jdbcType=VARCHAR},
+      </if>
+      <if test="operation != null">
+        #{operation,jdbcType=VARCHAR},
+      </if>
+      <if test="operationdate != null">
+        #{operationdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="remark != null">
+        #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="bak1 != null">
+        #{bak1,jdbcType=VARCHAR},
+      </if>
+      <if test="bak2 != null">
+        #{bak2,jdbcType=VARCHAR},
+      </if>
+      <if test="wpid != null">
+        #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtnum != null">
+        #{wtnum,jdbcType=DECIMAL},
+      </if>
+      <if test="wpnum != null">
+        #{wpnum,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.RecommenmainExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from RECOMMENMAIN
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update RECOMMENMAIN
+    <set>
+      <if test="record.rid != null">
+        RID = #{record.rid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recodedate != null">
+        RECODEDATE = #{record.recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.createdate != null">
+        CREATEDATE = #{record.createdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.speed != null">
+        SPEED = #{record.speed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.reason != null">
+        REASON = #{record.reason,jdbcType=VARCHAR},
+      </if>
+      <if test="record.ismain != null">
+        ISMAIN = #{record.ismain,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wobugid != null">
+        WOBUGID = #{record.wobugid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.operation != null">
+        OPERATION = #{record.operation,jdbcType=VARCHAR},
+      </if>
+      <if test="record.operationdate != null">
+        OPERATIONDATE = #{record.operationdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.remark != null">
+        REMARK = #{record.remark,jdbcType=VARCHAR},
+      </if>
+      <if test="record.bak1 != null">
+        BAK1 = #{record.bak1,jdbcType=VARCHAR},
+      </if>
+      <if test="record.bak2 != null">
+        BAK2 = #{record.bak2,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpid != null">
+        WPID = #{record.wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtnum != null">
+        WTNUM = #{record.wtnum,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wpnum != null">
+        WPNUM = #{record.wpnum,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update RECOMMENMAIN
+    set RID = #{record.rid,jdbcType=VARCHAR},
+      ID = #{record.id,jdbcType=DECIMAL},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      RECODEDATE = #{record.recodedate,jdbcType=TIMESTAMP},
+      CREATEDATE = #{record.createdate,jdbcType=TIMESTAMP},
+      SPEED = #{record.speed,jdbcType=DECIMAL},
+      REASON = #{record.reason,jdbcType=VARCHAR},
+      ISMAIN = #{record.ismain,jdbcType=VARCHAR},
+      WOBUGID = #{record.wobugid,jdbcType=VARCHAR},
+      OPERATION = #{record.operation,jdbcType=VARCHAR},
+      OPERATIONDATE = #{record.operationdate,jdbcType=TIMESTAMP},
+      REMARK = #{record.remark,jdbcType=VARCHAR},
+      BAK1 = #{record.bak1,jdbcType=VARCHAR},
+      BAK2 = #{record.bak2,jdbcType=VARCHAR},
+      WPID = #{record.wpid,jdbcType=VARCHAR},
+      WTNUM = #{record.wtnum,jdbcType=DECIMAL},
+      WPNUM = #{record.wpnum,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Recommenmain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update RECOMMENMAIN
+    <set>
+      <if test="id != null">
+        ID = #{id,jdbcType=DECIMAL},
+      </if>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE = #{recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createdate != null">
+        CREATEDATE = #{createdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="speed != null">
+        SPEED = #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="reason != null">
+        REASON = #{reason,jdbcType=VARCHAR},
+      </if>
+      <if test="ismain != null">
+        ISMAIN = #{ismain,jdbcType=VARCHAR},
+      </if>
+      <if test="wobugid != null">
+        WOBUGID = #{wobugid,jdbcType=VARCHAR},
+      </if>
+      <if test="operation != null">
+        OPERATION = #{operation,jdbcType=VARCHAR},
+      </if>
+      <if test="operationdate != null">
+        OPERATIONDATE = #{operationdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="remark != null">
+        REMARK = #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="bak1 != null">
+        BAK1 = #{bak1,jdbcType=VARCHAR},
+      </if>
+      <if test="bak2 != null">
+        BAK2 = #{bak2,jdbcType=VARCHAR},
+      </if>
+      <if test="wpid != null">
+        WPID = #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtnum != null">
+        WTNUM = #{wtnum,jdbcType=DECIMAL},
+      </if>
+      <if test="wpnum != null">
+        WPNUM = #{wpnum,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where RID = #{rid,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Recommenmain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update RECOMMENMAIN
+    set ID = #{id,jdbcType=DECIMAL},
+      WTID = #{wtid,jdbcType=VARCHAR},
+      RECODEDATE = #{recodedate,jdbcType=TIMESTAMP},
+      CREATEDATE = #{createdate,jdbcType=TIMESTAMP},
+      SPEED = #{speed,jdbcType=DECIMAL},
+      REASON = #{reason,jdbcType=VARCHAR},
+      ISMAIN = #{ismain,jdbcType=VARCHAR},
+      WOBUGID = #{wobugid,jdbcType=VARCHAR},
+      OPERATION = #{operation,jdbcType=VARCHAR},
+      OPERATIONDATE = #{operationdate,jdbcType=TIMESTAMP},
+      REMARK = #{remark,jdbcType=VARCHAR},
+      BAK1 = #{bak1,jdbcType=VARCHAR},
+      BAK2 = #{bak2,jdbcType=VARCHAR},
+      WPID = #{wpid,jdbcType=VARCHAR},
+      WTNUM = #{wtnum,jdbcType=DECIMAL},
+      WPNUM = #{wpnum,jdbcType=DECIMAL}
+    where RID = #{rid,jdbcType=VARCHAR}
+  </update>
+
+  <select id="recommenList"   resultMap="BaseResultMap">
+
+    select * from (select row_number() Over(order by t.createdate desc)   num, t.rid,t.wtid,t.wpid,t.reason,t.recodedate,t.speed,t.createdate from recommenmain t
+    where t.rid in (select max(rid) from recommenmain where ismain=0 and trunc(sysdate)=trunc(recodedate) group by wtid )
+    )   t where num>0 and num &lt;= 30
+
+  </select>
+
+</mapper>

+ 42 - 31
src/test/java/test/RelationalDataBaseTest.java

@@ -3,11 +3,14 @@ package test;
 import com.gyee.SpringbootStart;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.model.custom.RecommenVo;
 import com.gyee.frame.service.Windturbineinfodaytop2Service;
+import com.gyee.frame.service.health.RecommenmainService;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 
 import java.util.Calendar;
+import java.util.List;
 
 public class RelationalDataBaseTest {
 
@@ -16,43 +19,51 @@ public class RelationalDataBaseTest {
 
         SpringApplication.run(SpringbootStart.class, args);
 
-        Windturbineinfodaytop2Service windturbineinfodaytop2Service = SpringUtils.getBean("windturbineinfodaytop2Service");
+        RecommenmainService recommenmainService = SpringUtils.getBean("recommenmainService");
 
+        List<RecommenVo> list =recommenmainService.findConfirmedList();
 
-
-        Calendar c = Calendar.getInstance();
-
-        c.set(Calendar.HOUR_OF_DAY, 0);
-        c.set(Calendar.MINUTE, 0);
-        c.set(Calendar.SECOND, 0);
-        c.set(Calendar.MILLISECOND, 0);
-        c.add(Calendar.DAY_OF_MONTH,-2);
-
-        AjaxResult result1=windturbineinfodaytop2Service.gamonthlist("MHS_FDC","2020","10");
-
-            if (null!=result1)
+        if(!list.isEmpty())
+        {
+            for (RecommenVo vo:list)
             {
-                System.out.println(result1.get("data"));
+                System.out.println(vo.getWtid()+vo.getRecodedate());
             }
-
-
-        AjaxResult result2=windturbineinfodaytop2Service.gayearlist("MHS_FDC","2020");
-
-        if (null!=result2)
-        {
-            System.out.println(result2.get("data"));
         }
 
-        AjaxResult result3=windturbineinfodaytop2Service.wtmonthinfo("1263975");
-        if (null!=result3)
-        {
-            System.out.println(result3.get("data"));
-        }
-        AjaxResult result4=windturbineinfodaytop2Service.wtyearinfo("1151990");
-        if (null!=result4)
-        {
-            System.out.println(result4.get("data"));
-        }
+//        Calendar c = Calendar.getInstance();
+//
+//        c.set(Calendar.HOUR_OF_DAY, 0);
+//        c.set(Calendar.MINUTE, 0);
+//        c.set(Calendar.SECOND, 0);
+//        c.set(Calendar.MILLISECOND, 0);
+//        c.add(Calendar.DAY_OF_MONTH,-2);
+//
+//        AjaxResult result1=windturbineinfodaytop2Service.gamonthlist("MHS_FDC","2020","10");
+//
+//            if (null!=result1)
+//            {
+//                System.out.println(result1.get("data"));
+//            }
+//
+//
+//        AjaxResult result2=windturbineinfodaytop2Service.gayearlist("MHS_FDC","2020");
+//
+//        if (null!=result2)
+//        {
+//            System.out.println(result2.get("data"));
+//        }
+//
+//        AjaxResult result3=windturbineinfodaytop2Service.wtmonthinfo("1263975");
+//        if (null!=result3)
+//        {
+//            System.out.println(result3.get("data"));
+//        }
+//        AjaxResult result4=windturbineinfodaytop2Service.wtyearinfo("1151990");
+//        if (null!=result4)
+//        {
+//            System.out.println(result4.get("data"));
+//        }
         //System.out.println(wt.getRecorddate()+ "___" +wt.getGeneratingcapacity2());
         //System.out.println(wp.getRecorddate()+ "___" +wp.getDaylyxs());