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_SocketClient_Thread.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/ElectLock_Monitor/src/com/dev/lock/comm/Lock_SocketClient_Thread.java b/ElectLock_Monitor/src/com/dev/lock/comm/Lock_SocketClient_Thread.java index 61b8504..fc44857 100644 --- a/ElectLock_Monitor/src/com/dev/lock/comm/Lock_SocketClient_Thread.java +++ b/ElectLock_Monitor/src/com/dev/lock/comm/Lock_SocketClient_Thread.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.Date; +import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -16,6 +17,7 @@ import com.base.Crc16; import com.config.AppConfig; import com.dev.lock.data.ElectLock_Array; +import com.dev.lock.data.ElectLock_AuthIdcard; import com.dev.lock.data.ElectLock_ComBase; import com.dev.lock.data.ElectLock_Inf; import com.dev.lock.data.ElectLock_State; @@ -46,6 +48,7 @@ private ByteBuffer bytebuffer_for_socket_RX = ByteBuffer.allocate(15000); private boolean S_thread_run_flag = true; + public Lock_SocketClient_Thread(MysqlConnPool pool,ElectLock_Array GB_Lock_Array ,AppConfig config,Socket tmp_socket) { this.pool = pool; @@ -164,6 +167,48 @@ } } + List<ElectLock_AuthIdcard> batch_auth = Lock_Task_SQL.queryAuth_Idcard_Table(pool,client_id); + if(batch_auth.size() > 0) { + logger.info("寮�濮嬫壒閲忔巿鏉僆D鍗�,ID鏁伴噺锛�" + batch_auth.size()); + for(int k = 0; k < batch_auth.size() ; k++) { + ElectLock_AuthIdcard tmp_auth = batch_auth.get(k); + ElectLock_Ctl_Log tmp_log = null; + try { + int keyNumber = Integer.parseInt(tmp_auth.key_number.trim()); + if(tmp_auth.state == ElectLock_AuthIdcard.AuthType_ReMove) { + //鍙栨秷ID鍗℃巿鏉� + mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_MULTY, ElectLock_ComBase.LOCK_Clear_ID_AUTH_ADDR, ElectLock_ComBase.RegCount_Double); + if(SocketComm(mRtu_Tx, ComBase.mkInt32Buffer(keyNumber))) { + tmp_auth.auth_result = ElectLock_ComBase.Auth_Success; + tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, true,keyNumber); + Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log); + } else { + tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, false,keyNumber); + Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log); + } + }else if(tmp_auth.state == ElectLock_AuthIdcard.AuthType_Add) { + //娣诲姞鎺堟潈 + mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_MULTY, ElectLock_ComBase.LOCK_Add_ID_AUTH_ADDR, ElectLock_ComBase.RegCount_Double); + if(SocketComm(mRtu_Tx, ComBase.mkInt32Buffer(keyNumber))) { + tmp_auth.auth_result = ElectLock_ComBase.Auth_Success; + tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, true,keyNumber); + Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log); + } else { + tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, false,keyNumber); + Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log); + } + } + } catch (Exception e) { + tmp_auth.auth_result = ElectLock_ComBase.Auth_Fail; + } finally { + tmp_log = null; + } + Lock_Task_SQL.moveAuth_Idcard_Table(pool, tmp_auth); + } + + } + batch_auth = null; + runCount ++; if(runCount > 99999900) { runCount = 0; -- Gitblit v1.9.1