From 8c0ae356eb450db85721f9422a62339c751a90ac Mon Sep 17 00:00:00 2001
From: DELL <DELL@WIN-3EOIPEE9ML1>
Date: 星期三, 28 二月 2024 17:19:58 +0800
Subject: [PATCH] 3.修复电源通信程序,电源历史数据存储中的循环删除功能-[旧版程序在执行过程中很容易执行过程中超时停止]

---
 IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info-20240123-1.log.gz |    0 
 IEC61850_ForPowerSupply_ForNW/src/com/power/mysql/Sql_Mysql.java                  |   28 ++++++++++++++++++++++++++++
 IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerDataSave_SQL.java       |    6 +++---
 IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt                 |    1 +
 4 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info-20240123-1.log.gz b/IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info-20240123-1.log.gz
new file mode 100644
index 0000000..37d14d0
--- /dev/null
+++ b/IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info-20240123-1.log.gz
Binary files differ
diff --git a/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerDataSave_SQL.java b/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerDataSave_SQL.java
index 8afe607..21cbf96 100644
--- a/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerDataSave_SQL.java
+++ b/IEC61850_ForPowerSupply_ForNW/src/com/power/datasave/PowerDataSave_SQL.java
@@ -107,14 +107,14 @@
 								 " from information_schema.tables " + 
 								 " where table_schema='db_pwrdev_data_history' " + 
 								 " AND TABLE_NAME like 'tb_pwrdev_historydata_%' " + 
-								 " AND UPDATE_TIME <= '"+Com.getDateTimeFormat(deldate, Com.DTF_YMDhms)+"';" ;
+								 " AND CREATE_TIME <= '"+Com.getDateTimeFormat(deldate, Com.DTF_YMDhms)+"';" ;
 		
 		String sql_delete_strs = " DROP TABLE IF EXISTS ";
 		
 		Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn());
 		ResultSet res = null;
 		int count = 0;
-		res = sql.sqlMysqlQuery(sql_select_strs);
+		res = sql.sqlMysqlTotalQuery(sql_select_strs);
 		try {
 			while(res.next()) {
 				if(count > 0) {
@@ -126,7 +126,7 @@
 				count++;
 			}
 			if(count > 0) {
-				sql.sqlMysqlExecute(sql_delete_strs);
+				sql.sqlMysqlTotalExecute(sql_delete_strs);
 			}
 			
 			res.close();
diff --git a/IEC61850_ForPowerSupply_ForNW/src/com/power/mysql/Sql_Mysql.java b/IEC61850_ForPowerSupply_ForNW/src/com/power/mysql/Sql_Mysql.java
index 6c0d98b..2c52faa 100644
--- a/IEC61850_ForPowerSupply_ForNW/src/com/power/mysql/Sql_Mysql.java
+++ b/IEC61850_ForPowerSupply_ForNW/src/com/power/mysql/Sql_Mysql.java
@@ -676,6 +676,14 @@
 		sql.execute(sql_str);
 	}
 	
+	//鎵цsql璇彞
+	public void sqlMysqlTotalExecute(String sql_str) throws SQLException
+	{
+		Statement sql = mysql_con.createStatement();
+		sql.setQueryTimeout(5*60);
+		sql.execute(sql_str);
+	}
+	
 	
 	//鍦ㄤ簨鐗╀腑鎵ц澶氭潯sql璇彞
 	public boolean makeManualCommit(ArrayList<String> al_sql_strs) 
@@ -730,6 +738,26 @@
 		return res;
 	}
 	
+	//鏍规嵁sql璇彞鎵цsql鏌ヨ璇彞
+	public ResultSet sqlMysqlTotalQuery(String sql_str)
+	{
+		ResultSet res = null;
+		try
+    	{
+			Statement sql = mysql_con.createStatement();
+			sql.setQueryTimeout(5*60);
+			String query = sql_str;
+			res =  sql.executeQuery(query);
+    	}
+    	catch(SQLException ex)
+		{
+			//System.err.println("SQLException:" + ex.getMessage());
+    		logger.error(ex.toString(), ex);
+		}
+		
+		return res;
+	}
+	
 	//鏍规嵁sql璇彞鎵цsql鏇存柊璇彞
 	public void sqlMysqlUpdate(String sql_str)
 	{
diff --git a/IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt b/IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt
index 377e823..304717f 100644
--- a/IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt
+++ b/IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt
@@ -4,6 +4,7 @@
 V1.102  2024-01-14 lijun
 	1.南瑞协转版本完成基本数据交流配电柜,直流配电柜,高频开关柜遥测,遥信数据读取
 	2.修改电源通信程序的线程id
+	3.修复电源通信程序,电源历史数据存储中的循环删除功能
 	
 
 V1.101	2023-09-08

--
Gitblit v1.9.1