From cfe3b8044b61ced5772914bfbbdc629fbedf4bd5 Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期五, 19 四月 2024 11:33:21 +0800 Subject: [PATCH] 程序新增单体剩余容量数据读取 --- iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java | 3 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class | 0 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class | 0 iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java | 4 + iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java | 37 +++++++++ iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java | 16 +++ iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class | 0 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class | 0 iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java | 87 +++++++++++++++++++++ iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class | 0 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class | 0 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class | 0 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java | 25 ++++++ iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java | 11 ++ iec61850_forFoShanAES_Model/bin/config.xml | 2 iec61850_forFoShanAES_Model/config.xml | 2 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class | 0 17 files changed, 182 insertions(+), 5 deletions(-) diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class index 8bfd76b..eaa8ead 100644 --- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class +++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class index 1bac109..7e48f9a 100644 --- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class +++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class index 7e8dacb..1d4094c 100644 --- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class +++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class index 0dea48d..241ddac 100644 --- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class +++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class index 20f6ce4..88f9578 100644 --- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class +++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class index 504f826..747899e 100644 --- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class +++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class index df60cdc..831a864 100644 --- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class +++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class index bb197ae..5f06baf 100644 --- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class +++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class Binary files differ diff --git a/iec61850_forFoShanAES_Model/bin/config.xml b/iec61850_forFoShanAES_Model/bin/config.xml index ea32b1b..1e9b6a6 100644 --- a/iec61850_forFoShanAES_Model/bin/config.xml +++ b/iec61850_forFoShanAES_Model/bin/config.xml @@ -2,7 +2,7 @@ <root> <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en> - <mysql_server_ip>192.168.10.79</mysql_server_ip> + <mysql_server_ip>127.0.0.1</mysql_server_ip> <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0--> <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1--> <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2--> diff --git a/iec61850_forFoShanAES_Model/config.xml b/iec61850_forFoShanAES_Model/config.xml index ea32b1b..1e9b6a6 100644 --- a/iec61850_forFoShanAES_Model/config.xml +++ b/iec61850_forFoShanAES_Model/config.xml @@ -2,7 +2,7 @@ <root> <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en> - <mysql_server_ip>192.168.10.79</mysql_server_ip> + <mysql_server_ip>127.0.0.1</mysql_server_ip> <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0--> <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1--> <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2--> diff --git a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java index 824fdb4..cfe7a43 100644 --- a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java +++ b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java @@ -109,6 +109,10 @@ BattData_RT_SQL.updateBattData_RT_RamDB_Table(m_Conn_Pool, this); } /*********************************************************************************/ + public void updata_BattRtAlARM_To_RamDb() { + BattData_RT_SQL.updateBattAlarm_RT_RamDB_Table(m_Conn_Pool, this); + } + /*********************************************************************************/ public BattData_RT updata_SetIp() { return BattData_RT_SQL.selectRT_BttInf_Table(m_Conn_Pool, this); } diff --git a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java index fa272e0..f03f7d5 100644 --- a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java +++ b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java @@ -257,8 +257,19 @@ if(sql_str_JH.trim().length() > 1) { sql_str_JH = ", mon_JH_curr = CASE mon_num " + sql_str_JH + " ELSE mon_JH_curr END "; } + String sql_str_rest_cap = " "; + for(int n=0; n<bd_rt.MonCount; n++) { + tmp_dt = bd_rt.al_MonVol.get(n).mon_rest_cap; + //if(bd_rt.al_MonVol_RtOld.get(n).mon_rest_cap != tmp_dt) { + bd_rt.al_MonVol_RtOld.get(n).mon_rest_cap = tmp_dt; + sql_str_rest_cap += " WHEN " + (n+1) + " THEN " + String.format("%1.1f", tmp_dt); + //} + } + if(sql_str_rest_cap.trim().length() > 1) { + sql_str_rest_cap = ", mon_rest_cap = CASE mon_num " + sql_str_rest_cap + " ELSE mon_rest_cap END "; + } - String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_ser + sql_str_JH; + String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_ser + sql_str_JH + sql_str_rest_cap; if(sql_str_2.trim().length() > 1) { sql_str_2 += " WHERE BattGroupId=" + bd_rt.BattGroupId; /* @@ -1054,4 +1065,78 @@ } } /************************************************************************************************/ + /************************************************************************************************/ + 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(); + } + } } diff --git a/iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java b/iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java index d7a512c..76571c1 100644 --- a/iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java +++ b/iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java @@ -12,7 +12,14 @@ public float monRes = 0; public float monSer = 0; public float connRes = 0; - public float mon_JH_curr = 0; + public float mon_JH_curr = 0; //鍧囪 鐢垫祦 + public float mon_LY_vol = 0; //婕忔恫鐢靛帇 + public float mon_rest_cap = 0; //鍓╀綑瀹归噺 + + public boolean monvol_alm; //鍗曚綋鐢靛帇鍛婅 + public boolean monres_alm; //鍗曚綋鍐呴樆鍛婅 + public boolean montmp_alm; //鍗曚綋娓╁害鍛婅 + public boolean monrestcap_alm; //鍗曚綋鍓╀綑瀹归噺鍛婅 //--------------------------------// public MonVolData() { @@ -44,6 +51,13 @@ vdata.monRes = monRes; vdata.connRes = connRes; vdata.mon_JH_curr = mon_JH_curr; + vdata.mon_LY_vol = mon_LY_vol; //婕忔恫鐢靛帇 + vdata.mon_rest_cap = mon_rest_cap; //鍗曚綋鍓╀綑瀹归噺 + + vdata.monvol_alm = monvol_alm; //鍗曚綋鐢靛帇鍛婅 + vdata.monres_alm = monres_alm; //鍗曚綋鍐呴樆鍛婅 + vdata.montmp_alm = montmp_alm; //鍗曚綋娓╁害鍛婅 + vdata.monrestcap_alm = monrestcap_alm; //鍗曚綋鍓╀綑瀹归噺鍛婅 return vdata; } } diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java index 044ca89..7661773 100644 --- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java +++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java @@ -4,6 +4,7 @@ import java.sql.SQLException; import java.util.Date; import com.base.Com; +import com.battdata_rt.BattData_RT; public class BTS61850_Task_Thread_SQL { @@ -133,4 +134,28 @@ sql.close_con(); } } + + public static void updateBattRtState_Table(MysqlConnPool pool,FBS9100_VCData vc_data,BattData_RT[] battdata) { + for(int i=0;i<battdata.length;i++) { + if(null == battdata[i]) { + continue; + } + String sql_str = " UPDATE " + Sql_Mysql.BattRsAlarm_Table + "" + + " SET record_time = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"'" + + ",groupvol_alm = " + vc_data.groupvolalm[i] + + ",test_end_cap=" + vc_data.test_end_cap[i] + + ",test_end_vol=" + vc_data.test_end_vol[i] + + ",test_timelong= " + vc_data.test_timelong[i] + + " WHERE BattGroupId = " + battdata[i].BattGroupId; + Sql_Mysql sql = new Sql_Mysql(pool); + try { + sql.sqlMysqlExecute(sql_str); + } catch (SQLException e) { + sql.logger.error("BTS61850_Task_Thread_SQL.updateBattRtState_Table():" + e.toString(), e); + } finally { + sql.close_con(); + } + + } + } } diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java index 842876f..6e56ea0 100644 --- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java +++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java @@ -992,7 +992,12 @@ else if ((n >= (m + 24 * 2)) && (n < (m + 24 * 3))) { m_FBS_VCData.tmp[n - (m + 24 * 2)] = ((BdaFloat32) fc_mode).getFloat(); } - //璺宠繃鍓╀綑鍓╀綑瀹归噺 + + else if ((n >= (m + 24 * 3)) && (n < (m + 24 * 4))) { + m_FBS_VCData.mon_rest_cap[n - (m + 24 * 3)] = ((BdaFloat32) fc_mode).getFloat(); + + } + else if ((n >= (m + 24 * 4)) && (n < (m + 24 * 5))) { m_FBS_VCData.mon_JH[n - (m + 24 * 4)] = ((BdaFloat32) fc_mode).getFloat(); } @@ -2130,6 +2135,7 @@ m_RTData[n].al_MonVol.get(index).monRes = (float) vc_data.res[mon_index]; m_RTData[n].al_MonVol.get(index).monTmp = (float) vc_data.tmp[mon_index]; m_RTData[n].al_MonVol.get(index).mon_JH_curr = (float) vc_data.mon_JH[mon_index]; + m_RTData[n].al_MonVol.get(index).mon_rest_cap = (float) vc_data.mon_rest_cap[mon_index]; mon_index++; } @@ -2251,7 +2257,36 @@ System.out.println(createSignature(btsid, keyid)); } + /** + * 鏇存柊鐢垫睜缁勬暟鎹� + * + * @param vc_data + */ + private void getFBS9100MonAlmData(FBS9100_VCData vc_data) { + { + int mon_index = 0; + for (int n = 0; n < FBS9100_ComBase.BattGroupCountMax; n++) { + if (null != m_RTData[n]) { + for (int index = 0; index < m_RTData[n].MonCount; index++) { + if (mon_index >= FBS9100_ComBase.MonomerCountMax) { + break; + } + m_RTData[n].al_MonVol.get(index).monvol_alm = vc_data.monvol_alm[mon_index]; + m_RTData[n].al_MonVol.get(index).monres_alm = vc_data.monres_alm[mon_index]; + m_RTData[n].al_MonVol.get(index).montmp_alm = vc_data.montmp_alm[mon_index]; + m_RTData[n].al_MonVol.get(index).monrestcap_alm = vc_data.moncap_alm[mon_index]; + + mon_index++; + } + + m_RTData[n].updata_BattRtAlARM_To_RamDb(); + BTS61850_Task_Thread_SQL.updateBattRtState_Table(m_ConnPool,vc_data,m_RTData); + // ---------------------------------------------------------------------------// + } + } + } + } /*********************************************************************************************/ } /********************************* diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java index e0c48dd..e118fca 100644 --- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java +++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java @@ -39,7 +39,18 @@ public double res[] = new double[FBS9100_ComBase.MonomerCountMax]; public double tmp[] = new double[FBS9100_ComBase.MonomerCountMax]; public double mon_JH[] = new double[FBS9100_ComBase.MonomerCountMax]; + public double mon_LY[] = new double[FBS9100_ComBase.MonomerCountMax]; + public double mon_rest_cap[] = new double[FBS9100_ComBase.MonomerCountMax]; + public boolean[] groupvolalm = new boolean[FBS9100_ComBase.BattGroupCountMax]; //缁勭鐢靛帇鍛婅 + public double[] test_end_vol = new double[FBS9100_ComBase.BattGroupCountMax]; //娴嬭瘯缁堟鐢靛帇 + public double[] test_end_cap = new double[FBS9100_ComBase.BattGroupCountMax]; //娴嬭瘯缁堟瀹归噺 + public double[] test_timelong = new double[FBS9100_ComBase.BattGroupCountMax]; //娴嬭瘯缁堟鏃堕棿 + + public boolean[] monvol_alm = new boolean[FBS9100_ComBase.MonomerCountMax]; //鍗曚綋鐢靛帇鍛婅 + public boolean[] monres_alm = new boolean[FBS9100_ComBase.MonomerCountMax]; //鍗曚綋鍐呴樆鍛婅 + public boolean[] montmp_alm = new boolean[FBS9100_ComBase.MonomerCountMax]; //鍗曚綋娓╁害鍛婅 + public boolean[] moncap_alm = new boolean[FBS9100_ComBase.MonomerCountMax]; //鍗曚綋瀹归噺鍛婅 public FBS9100_VCData clone() { FBS9100_VCData obj = new FBS9100_VCData(); diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java index 9f4819c..fa59203 100644 --- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java +++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java @@ -55,6 +55,9 @@ public final static String BattRtData_Table = DB_RamDB + ".`tb_batt_rtdata`"; public final static String BattRtState_Table = DB_RamDB + ".`tb_batt_rtstate`"; + public final static String BattRtAlarm_Table = DB_RamDB + ".`tb_batt_rtalarm`"; + public final static String BattRsAlarm_Table = DB_RamDB + ".`tb_batt_rsalarm`"; + public final static String CInterfaceState_Table = DB_RamDB + ".`tb_cinterface_state`"; public final static String HardDevSmsState_Table = DB_RamDB + ".`tb_hard_dev_sms_state`"; -- Gitblit v1.9.1