From 065b39de59eb4488592a59d53a1812fcc4b4d630 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期五, 19 四月 2024 10:21:52 +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              |    5 ++
 iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java                          |   15 +++++++
 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                     |   90 ++++++++++++++++++++++++++++++++++++++++++++
 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class             |    0 
 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class |    0 
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java                      |    2 +
 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class                    |    0 
 13 files changed, 116 insertions(+), 3 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 98e8628..71f68c8 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 69be403..386f5ec 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..8dc079a 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..ef73555 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/BTS_61850_SocketClient.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
index cb41896..5600921 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..a5056ed 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 e163d47..47d812d 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/src/com/battdata_rt/BattData_RT.java b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java
index 6503325..be25584 100644
--- a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java
+++ b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java
@@ -104,6 +104,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..1ead27d 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
@@ -246,6 +246,7 @@
 			if(sql_str_ser.trim().length() > 1) {
 				sql_str_ser = ", mon_ser = CASE mon_num " + sql_str_ser + " ELSE mon_ser END ";
 			}
+			
 			String sql_str_JH = " ";
 			for(int n=0; n<bd_rt.MonCount; n++) {
 				tmp_dt = bd_rt.al_MonVol.get(n).mon_JH_curr;
@@ -258,7 +259,20 @@
 				sql_str_JH = ", mon_JH_curr = CASE mon_num " + sql_str_JH + " ELSE mon_JH_curr END ";
 			}
 			
-			String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_ser + sql_str_JH;
+			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_JH += " 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_JH + " ELSE mon_rest_cap END ";
+			}
+			
+			
+			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 +1068,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..e2733db 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_rest_cap = 0;				//鍗曚綋鍓╀綑瀹归噺
+	public float mon_LY_vol = 0;				//婕忔恫鐢靛帇
+	
+	public boolean monvol_alm;					//鍗曚綋鐢靛帇鍛婅
+	public boolean monres_alm;					//鍗曚綋鍐呴樆鍛婅
+	public boolean montmp_alm;					//鍗曚綋娓╁害鍛婅
+	public boolean monrestcap_alm;				//鍗曚綋鍓╀綑瀹归噺鍛婅
 	//--------------------------------//
 	public MonVolData()
 	{
@@ -44,6 +51,12 @@
 		vdata.monRes = monRes;
 		vdata.connRes = connRes;
 		vdata.mon_JH_curr = mon_JH_curr;
+		vdata.mon_LY_vol = mon_LY_vol;				//婕忔恫鐢靛帇
+		
+		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/BTS_61850_SocketClient.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
index bec0cd5..4585710 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
@@ -961,7 +961,9 @@
 								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_restcap[n - (m + 24 * 2)] = ((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();
 								}
@@ -2118,6 +2120,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_restcap[mon_index];
 
 						mon_index++;
 					}
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..0dd3269 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java
@@ -39,6 +39,7 @@
 	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_restcap[] = new double[FBS9100_ComBase.MonomerCountMax];		//鍗曚綋鍓╀綑瀹归噺
 	
 	public FBS9100_VCData clone()
     {
@@ -70,6 +71,7 @@
         obj.res = res.clone();
         obj.tmp = tmp.clone();
         obj.mon_JH = mon_JH.clone();
+        obj.mon_restcap = mon_restcap.clone();
         System.out.println(obj);
         return obj;
     }
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 462b859..9585104 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java
@@ -56,6 +56,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