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("开始批量授权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;