From 1af31e38c6a2cd072ed310149c656780610fe57b Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期一, 21 四月 2025 08:42:54 +0800 Subject: [PATCH] 2.修复锁具开启之后记录bug --- ElectLock_Monitor/src/com/dev/lock/comm/Lock_Task_SQL.java | 42 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 36 insertions(+), 6 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 d19961c..3b033e1 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 @@ -66,7 +66,7 @@ ",comm_count = " + state.getComm_count() + ",err_tol_count = " + state.getErr_tol_count() + ",err_count = " + state.getErr_count() + - " WHERE lock_id = " + lock_id; + " WHERE lock_id = " + state.getLock_id(); Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); @@ -86,8 +86,10 @@ public static void updateLock_Inf_Table(MysqlConnPool pool,ElectLock_Inf inf,ElectLock_State state) { String sql_str = "UPDATE " + Sql_Mysql.Lock_Inf_Table + " Set lock_state = " + state.getLock_state() + - " ,lock_online = " + state.getLock_online() + + " ,lock_online = " + ((state.getErr_count() > 4)?0:1) + +// " ,lock_online = " + state.getLock_online() + " ,lock_mac = '" + state.getLockMacAddr() + "'" + + " ,bl_state = '" + state.getBluetooth_state() + "'" + " ,lock_open_count = " + state.getLock_open_count() + " ,model = " + state.getWorkmodel() + " ,last_update_time = '" + Com.getDateTimeFormat(state.getLast_update_time(), Com.DTF_YMDhms) + "'" + @@ -110,14 +112,25 @@ * @param param */ public static void queryElectLockControlCmd(MysqlConnPool pool,int lock_id,ElectLock_State param) { - String sql_str = " SELECT op_cmd,id_card_set,lock_addr_set,ctl_uname " + String sql_str = " SELECT op_cmd,id_card_set,lock_addr_set,ctl_uname,lock_id " + " FROM " + Sql_Mysql.Lock_Rt_Table + "" - + " WHERE lock_id = " + lock_id; + + " WHERE FLOOR(lock_id/10000) = " + (lock_id/10000) + + " AND (" + + " op_cmd = " + ElectLock_ComBase.CMD_ClearIdCard + + " OR op_cmd = " + ElectLock_ComBase.CMD_REMOTE_OPEN_Lock + + " OR op_cmd = " + ElectLock_ComBase.CMD_REMOTE_ReStart + + " OR op_cmd = " + ElectLock_ComBase.CMD_AddIdCard + + " OR op_cmd = " + ElectLock_ComBase.CMD_RemoveIdCard + + " OR op_cmd = " + ElectLock_ComBase.CMD_OpenBluetooth + + " OR op_cmd = " + ElectLock_ComBase.CMD_CloseBluetooth + + " )"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); ResultSet res = null; try { res = sql.sqlMysqlQuery(sql_str); if(res.next()) { + //褰撳墠闇�瑕佹帶鍒剁殑閿佸叿ID + param.setLock_id(res.getInt("lock_id")); param.setOp_cmd(res.getInt("op_cmd")); param.setId_card_set(res.getInt("id_card_set")); param.setLock_addr_set(res.getInt("lock_addr_set")); @@ -148,7 +161,7 @@ public static void updateElectLockControlCmd(MysqlConnPool pool, int lock_id, ElectLock_State state) { String sql_str = "UPDATE " + Sql_Mysql.Lock_Rt_Table + " Set op_cmd = " + state.getOp_cmd() + - " WHERE lock_id = " + lock_id; + " WHERE lock_id = " + state.getLock_id(); Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); @@ -339,7 +352,7 @@ state.setErr_tol_count(res.getInt("err_tol_count")); //'鎬婚敊璇鏁�', // state.setErr_count(res.getInt("err_count")); //'杩炵画閿欒璁℃暟', state.setOp_cmd(res.getInt("op_cmd")); //'鎺у埗鍛戒护', - state.setId_card_set(res.getInt("id_card_set")); //'鎺堟潈ID鍗″彿', + state.setId_card_set(res.getLong("id_card_set")); //'鎺堟潈ID鍗″彿', state.setLock_addr_set(res.getInt("lock_addr_set"));; //'璁剧疆璁惧鍦板潃[鎱庣敤]', } @@ -446,4 +459,21 @@ sql.close_con(); } } + + /** + * 璁剧疆褰撳墠閿佸叿绂荤嚎 + * @param pool + * @param client_id + */ + public static void updateLock_OffLineTable(MysqlConnPool pool, int client_id) { + String sql_str = " UPDATE " + Sql_Mysql.Lock_Inf_Table + " SET lock_online = 0 WHERE FLOOR(lock_id/10000) = " + (client_id/10000); + Sql_Mysql sql = new Sql_Mysql(pool.getConn()); + try { + sql.sqlMysqlExecute(sql_str); + } catch (SQLException e) { + sql.logger.error(e.toString(),e); + } finally { + sql.close_con(); + } + } } -- Gitblit v1.9.1