From 58c605a8f48cebc888883ed70dc46b82ad8d3b96 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期一, 06 一月 2025 16:11:27 +0800
Subject: [PATCH] V1.108 edit by lijun 2025-01-06 	1.新增批量授权逻辑,批量授权或取消时同时记录操作日志

---
 ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java b/ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java
index 961473f..f615153 100644
--- a/ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java
+++ b/ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java
@@ -2,8 +2,12 @@
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 import com.base.Com;
+import com.dev.lock.data.ElectLock_AuthIdcard;
 import com.dev.lock.data.ElectLock_ComBase;
 import com.dev.lock.data.ElectLock_Ctl_Log;
 import com.dev.lock.data.ElectLock_State;
@@ -168,4 +172,68 @@
 			sql.close_con();
 		}
 	}
+
+
+	public static List<ElectLock_AuthIdcard> queryAuth_Idcard_Table(MysqlConnPool pool, int client_id) {
+		List<ElectLock_AuthIdcard> batch_auth = new ArrayList<>();
+		String sql_str = "SELECT DISTINCT(tb_key_inf.key_id),lock_id,state,tb_auth_idcard.create_time,key_number " + 
+						" FROM " + Sql_Mysql.Key_Inf_Table + "," + Sql_Mysql.Auth_Idcard_Table +
+						" WHERE tb_key_inf.key_id = tb_auth_idcard.key_id AND lock_id = " + client_id + " AND key_type = 1 ";
+		Sql_Mysql sql = new Sql_Mysql(pool.getConn());
+		ResultSet res = null;
+		try {
+			res = sql.sqlMysqlQuery(sql_str);
+			while(res.next()) {
+				ElectLock_AuthIdcard auth = new ElectLock_AuthIdcard();
+				auth.key_id = res.getInt("key_id");					//'閽ュ寵id',
+				auth.lock_id = res.getInt("lock_id");				//'閿佸叿id',
+				auth.state = res.getInt("state");					//'1:绉婚櫎id鍗�,2娣诲姞id鍗�,3宸插鐞�',
+				auth.create_time = res.getTimestamp("create_time");	//'鍒涘缓鏃堕棿'
+				auth.key_number = res.getString("key_number");		//ID鍗″彿
+				
+				batch_auth.add(auth);
+			}
+		} catch (SQLException e) {
+			sql.logger.error(e.toString(),e);
+		} finally {
+			if(null != res) {
+				try {
+					res.close();
+				} catch (SQLException e) {
+					sql.logger.error(e.toString(),e);
+				}
+			}
+			sql.close_con();
+		}
+		return batch_auth;
+	}
+
+
+	/**
+	 * 	灏嗗綋鍓嶆壒閲忔搷浣滆褰曠Щ鍔ㄥ埌鍘嗗彶琛�
+	 * @param pool
+	 * @param tmp_auth
+	 */
+	public static void moveAuth_Idcard_Table(MysqlConnPool pool, ElectLock_AuthIdcard tmp_auth) {
+		ArrayList<String> sql_strs = new ArrayList<>();
+		String sql_str_ins = "INSERT INTO " + Sql_Mysql.Auth_Idcard_His_Table + "(key_id,lock_id,state,create_time,end_time,auth_result)" + 
+				"(" + 
+				"	SELECT key_id,lock_id,state,create_time,NOW()," + tmp_auth.auth_result +
+				"	FROM " + Sql_Mysql.Auth_Idcard_Table +
+				"	WHERE lock_id = " + tmp_auth.lock_id + " AND key_id = " + tmp_auth.key_id + 
+				"	AND create_time = '" + Com.getDateTimeFormat(tmp_auth.create_time, Com.DTF_YMDhms) + "' " + 
+				");";
+		String sql_str_del = "DELETE FROM " + Sql_Mysql.Auth_Idcard_Table + " WHERE lock_id = " + tmp_auth.lock_id + " AND key_id = " + tmp_auth.key_id + " AND create_time = '" + Com.getDateTimeFormat(tmp_auth.create_time, Com.DTF_YMDhms) + "'";
+		System.out.println(sql_str_ins);
+		sql_strs.add(sql_str_ins);
+		sql_strs.add(sql_str_del);
+		Sql_Mysql sql = new Sql_Mysql(pool.getConn());
+		try {
+			sql.makeManualCommit(sql_strs);
+		} catch (Exception e) {
+			sql.logger.error(e.toString(),e);
+		} finally {
+			sql.close_con();
+		}
+	}
 }

--
Gitblit v1.9.1