| | |
| | | private ElectLock_State mLock_param;
|
| | |
|
| | | private String client_ip; //客户端IP地址
|
| | | private int client_id; //客户端ID
|
| | | private int client_id; //客户端ID-锁具ID
|
| | |
|
| | | private MyModBusRtu mRtu_Tx; //发送数据
|
| | | private MyModBusRtu mRtu_Rx; //返回数据
|
| | |
| | |
|
| | | private boolean S_thread_run_flag = true;
|
| | |
|
| | | private int plat_model;
|
| | |
|
| | | public Lock_SocketClient_Thread(MysqlConnPool pool,ElectLock_Array GB_Lock_Array ,AppConfig config,Socket tmp_socket) {
|
| | | this.pool = pool;
|
| | |
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_OPEN_Lock, false,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | |
| | | //远程开锁失败时,记录一笔开锁失败告警
|
| | | Lock_Task_SQL.insertRemoteOpenFailAlarm(pool, client_id);
|
| | | }
|
| | | }else if(mLock_param.getOp_cmd() == ElectLock_ComBase.CMD_REMOTE_ReStart) {
|
| | | mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_YC, ElectLock_ComBase.LOCK_RESTART_ADDR, ElectLock_ComBase.RegCount_Sigle);
|
| | |
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | mLock_State.setIDOpen(false);
|
| | | tmp_log = null;
|
| | | }
|
| | | |
| | | plat_model = Lock_Task_SQL.querySystemLockMode(pool);
|
| | | if(plat_model != ElectLock_ComBase.CMD_Fail) {
|
| | | if(plat_model != mLock_State.getWorkmodel()) {
|
| | | logger.info("LockID:"+client_id + " Start change Model :");
|
| | | |
| | | mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_STD, ElectLock_ComBase.LOCK_SET_Model_ADDR, ElectLock_ComBase.RegCount_Sigle);
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(plat_model))) {
|
| | | //远程设置锁具在离线模式后最多重启设备3次
|
| | | for(int k = 0 ;k < 3;k++) {
|
| | | mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_YC, ElectLock_ComBase.LOCK_RESTART_ADDR, ElectLock_ComBase.RegCount_Sigle);
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(ElectLock_ComBase.Control_Value))) {
|
| | | //重启锁具成功
|
| | | break;
|
| | | } |
| | | }
|
| | | Thread.sleep(1000);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | isSuccess = true;
|
| | | logger.info("LockId:" + client_id + " LockIp:"+client_ip + " 设置锁具地址:" + mLock_param.getLock_addr_set() + "成功");
|
| | | }
|
| | | }else if(ElectLock_ComBase.LOCK_SET_Model_ADDR == mRtu_Rx.reg_addr) {
|
| | | //设置锁具工作模式
|
| | | if(plat_model == mRtu_Rx.result) {
|
| | | isSuccess = true;
|
| | | logger.info("LockId:" + client_id + " LockIp:"+client_ip + " 设置锁具模式:" + plat_model + "成功");
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | }else if(MyModBusRtu.CMD_TYPE_WRITE_MULTY == mRtu_Rx.Cmd) {
|
| | | if(ElectLock_ComBase.LOCK_Add_ID_AUTH_ADDR == mRtu_Rx.reg_addr) {
|
| | | //添加授权ID卡
|