From ace6ea6287d6ec0ec6e1e95dc9ed344d15c2f746 Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期二, 02 七月 2024 14:16:34 +0800 Subject: [PATCH] V10.204 edit lijun at 2024-07-02 1.新增全功能61850点位中的告警遥调设置命令 2.新增全功能61850点位中的告警遥信数据读取以及更新至数据库 --- iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java b/iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java index fa272e0..74d07f3 100644 --- a/iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java +++ b/iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java @@ -1054,4 +1054,79 @@ } } /************************************************************************************************/ + /************************************************************************************************/ + public static void updateBattAlarm_RT_RamDB_Table(MysqlConnPool conn_pool, BattData_RT bd_rt) + { + Sql_Mysql sql = new Sql_Mysql(conn_pool); + try + { + String sql_str = "UPDATE " + Sql_Mysql.BattRtAlarm_Table + + " SET " + + " record_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "'"; + + boolean tmp_dt = false; + String sql_str_vol = " "; + for(int n=0; n<bd_rt.MonCount; n++) { + tmp_dt = bd_rt.al_MonVol.get(n).monvol_alm; + sql_str_vol += " WHEN " + (n+1) + " THEN " + tmp_dt; + } + if(sql_str_vol.trim().length() > 1) { + sql_str_vol = ", monvol_alm = CASE mon_num " + sql_str_vol + " ELSE monvol_alm END "; + } + + String sql_str_tmp = " "; + for(int n=0; n<bd_rt.MonCount; n++) { + tmp_dt = bd_rt.al_MonVol.get(n).montmp_alm; + sql_str_tmp += " WHEN " + (n+1) + " THEN " + tmp_dt; + } + if(sql_str_tmp.trim().length() > 1) { + sql_str_tmp = ", montmp_alm = CASE mon_num " + sql_str_tmp + " ELSE montmp_alm END "; + } + + String sql_str_res = " "; + for(int n=0; n<bd_rt.MonCount; n++) { + tmp_dt = bd_rt.al_MonVol.get(n).monres_alm; + sql_str_res += " WHEN " + (n+1) + " THEN " + tmp_dt; + } + if(sql_str_res.trim().length() > 1) { + sql_str_res = ", monres_alm = CASE mon_num " + sql_str_res + " ELSE monres_alm END "; + } + + String sql_str_cap = " "; + for(int n=0; n<bd_rt.MonCount; n++) { + tmp_dt = bd_rt.al_MonVol.get(n).monrestcap_alm; + sql_str_cap += " WHEN " + (n+1) + " THEN " + tmp_dt; + } + if(sql_str_cap.trim().length() > 1) { + sql_str_cap = ", monrestcap_alm = CASE mon_num " + sql_str_cap + " ELSE monrestcap_alm END "; + } + String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_cap ; + if(sql_str_2.trim().length() > 1) { + sql_str_2 += " WHERE BattGroupId=" + bd_rt.BattGroupId; + /* + + " AND mon_num IN ("; + for(int n=0; n<brt.MonCount; n++) { + if(n > 0) { + sql_str_2 += ","; + } + sql_str_2 += (n+1); + } + sql_str_2 += ")"; + */ + } else { + sql_str_2 = " WHERE BattGroupId=" + bd_rt.BattGroupId; + } + + sql_str += sql_str_2; + //System.out.println(bd_rt.MonCount); + //System.out.println(sql_str); + sql.sqlMysqlExecute(sql_str); + } catch (SQLException e) { + // TODO Auto-generated catch block + sql.logger.error("updateBattAlarm_RT_RamDB_Table():" + e.toString(), e); + } finally { + sql.close_con(); + } + } + /************************************************************************************************/ } -- Gitblit v1.9.1