From b2c9074a1d2eace6ae010f60f3db0977ca9055f5 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期一, 09 九月 2024 14:08:05 +0800
Subject: [PATCH] V2.04 edit at date 2024-09-09 	1.修复表 'db_battinf.tb_stattion_inf'表中字段'together_flag'默认初始插入全为0=>将为0的字段修改为当前最大值

---
 BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java b/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java
index 0b514db..dda3f38 100644
--- a/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java
+++ b/BattMonitor_DB_Builder/src/com/database_util/DB_battinf.java
@@ -692,12 +692,76 @@
 			//录入已存在的电源机房信息
 			initPowerStationInfoData(pool);
 			
+			//修复机房总表中的	together_flag 全是0 的记录改为 (最大值+1)
+			repaireStationTotetherFlag(pool);
 		} catch (SQLException e) {
 			e.printStackTrace();
 		} finally {
 			sql.close_con();
 		}
 	}
+	
+	/**
+	 * 修复`db_battinf`.`tb_station_inf`表中together_flag 为0的数据
+	 * @param pool
+	 */
+	private static void repaireStationTotetherFlag(MysqlConnPool pool) {
+		String sql_str = " SELECT num,together_flag,stationId FROM " + Sql_Mysql.Station_Inf_Table + " WHERE together_flag = 0";
+		ResultSet res = null;
+		Sql_Mysql sql = new Sql_Mysql(pool.getConn());
+		try {
+			int max_together_flag = quereyMaxTogetherFlagStationInf(pool);
+			res = sql.sqlMysqlQuery(sql_str);
+			while(res.next()) {
+				int num = res.getInt("num");
+				max_together_flag ++;
+				sql.sqlMysqlExecute(" UPDATE " + Sql_Mysql.Station_Inf_Table + " SET together_flag = " + (max_together_flag) + " WHERE num = " + num);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			if(null != res) {
+				try {
+					res.close();
+				} catch (SQLException e) {
+					e.printStackTrace();
+				}
+			}
+			sql.close_con();
+		}
+	}
+	
+	/**
+	 * 查询'db_battinf.tb_station_inf'表中最大的together_flag
+	 * @param pool
+	 * @return
+	 */
+	private static int quereyMaxTogetherFlagStationInf(MysqlConnPool pool) {
+		int max_togethreflag = 0;
+		String sql_str = " SELECT max(together_flag) as max_together_flag FROM " + Sql_Mysql.Station_Inf_Table;
+		ResultSet res = null;
+		Sql_Mysql sql = new Sql_Mysql(pool.getConn());
+		try {
+			res = sql.sqlMysqlQuery(sql_str);
+			if(res.next()) {
+				max_togethreflag = res.getInt("max_together_flag");
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			if(null != res) {
+				try {
+					res.close();
+				} catch (SQLException e) {
+					e.printStackTrace();
+				}
+			}
+			sql.close_con();
+		}
+		return max_togethreflag;
+	}
+
+
 	/**
 	 *	创建 `db_battinf`.`tb_battinf_update_record` 表
 	 * @param pool

--
Gitblit v1.9.1