| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | List<ElectLock_AuthIdcard> batch_auth = Lock_Task_SQL.queryAuth_Idcard_Table(pool,client_id);
|
| | | if(batch_auth.size() > 0) {
|
| | | logger.info("开始批量授权ID卡,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;
|