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/battdata_rt/BattData_RT_SQL.java |   90 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 1 deletions(-)

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();
+		}
+	}
+	/************************************************************************************************/
 }

--
Gitblit v1.9.1