3.新增控制时新增当前操作用户名,并且监控ID开锁状态
| | |
| | | V1.108 edit by lijun 2025-01-06
|
| | | 1.新增批量授权逻辑,批量授权或取消时同时记录操作日志
|
| | | 2.新增锁具的在离线状态,方便平台统计
|
| | | 3.新增控制时新增当前操作用户名,并且监控ID开锁状态
|
| | |
|
| | |
|
| | |
|
| | |
| | | mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_YC, ElectLock_ComBase.LOCK_CLEAR_AUTH_ADDR, ElectLock_ComBase.RegCount_Sigle);
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(ElectLock_ComBase.Control_Value))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_ClearIdCard_Ack);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_ClearIdCard, true);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_ClearIdCard, true,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_ClearIdCard, false);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_ClearIdCard, false,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }else if(mLock_param.getOp_cmd() == ElectLock_ComBase.CMD_REMOTE_OPEN_Lock) {
|
| | | mRtu_Tx.mkBusRtu(MyModBusRtu.CMD_TYPE_WRITE_YC, ElectLock_ComBase.LOCK_REMOTE_OPEN_ADDR, ElectLock_ComBase.RegCount_Sigle);
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(ElectLock_ComBase.Control_Value))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_REMOTE_OPEN_Lock_Ack);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_OPEN_Lock, true);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_OPEN_Lock, true,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_OPEN_Lock, false);
|
| | | 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);
|
| | | }
|
| | | }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);
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(ElectLock_ComBase.Control_Value))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_REMOTE_ReStart_Ack);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_ReStart, true);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_ReStart, true,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_ReStart, false);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_REMOTE_ReStart, false,0,mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }else if(mLock_param.getOp_cmd() == ElectLock_ComBase.CMD_SetLockAddr) {
|
| | |
| | | if(SocketComm(mRtu_Tx, ComBase.mkUInt16Buffer(mLock_param.getLock_addr_set()))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_SetLockAddr_Ack);
|
| | |
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_SetLockAddr, true);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_SetLockAddr, true,mLock_param.getLock_addr_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_SetLockAddr, false);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_SetLockAddr, false,mLock_param.getLock_addr_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }else if(mLock_param.getOp_cmd() == ElectLock_ComBase.CMD_AddIdCard) {
|
| | |
| | | System.out.println("mLock_param.getId_card_set():"+mLock_param.getId_card_set());
|
| | | if(SocketComm(mRtu_Tx, ComBase.mkInt32Buffer(mLock_param.getId_card_set()))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_AddIdCard_Ack);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, true,mLock_param.getId_card_set());
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, true,mLock_param.getId_card_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, false,mLock_param.getId_card_set());
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, false,mLock_param.getId_card_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }else if(mLock_param.getOp_cmd() == ElectLock_ComBase.CMD_RemoveIdCard) {
|
| | |
| | | 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(mLock_param.getId_card_set()))) {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_RemoveIdCard_Ack);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, true,mLock_param.getId_card_set());
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, true,mLock_param.getId_card_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | } else {
|
| | | mLock_param.setOp_cmd(ElectLock_ComBase.CMD_Fail);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, false,mLock_param.getId_card_set());
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, false,mLock_param.getId_card_set(),mLock_param.getCtl_uname());
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }
|
| | |
| | | Lock_Task_SQL.updateLock_Rt_Table(pool,client_id,mLock_State);
|
| | |
|
| | | Lock_Task_SQL.updateLock_Inf_Table(pool,client_id,mLock_State);
|
| | | |
| | | if(mLock_State.isIDOpen()) {
|
| | | String ctl_uname = Lock_Task_SQL.queryKeyInfByKeyNumberTable(pool,mLock_State.getLast_unlock_id());
|
| | | ElectLock_Ctl_Log tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_IDCardOpen, true,mLock_State.getLast_unlock_id(),ctl_uname);
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | mLock_State.setIDOpen(false);
|
| | | tmp_log = null;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, true,keyNumber,tmp_auth.ctl_uname);
|
| | | 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);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_RemoveIdCard, false,keyNumber,tmp_auth.ctl_uname);
|
| | | 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);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, true,keyNumber,tmp_auth.ctl_uname);
|
| | | 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);
|
| | | tmp_log = new ElectLock_Ctl_Log(client_id, ElectLock_ComBase.CtlType_AddIdCard, false,keyNumber,tmp_auth.ctl_uname);
|
| | | Lock_Task_SQL.insertLock_Ctl_Log_Table(pool, tmp_log);
|
| | | }
|
| | | }
|
| | |
| | | try {
|
| | | res = sql.sqlMysqlQuery(sql_str_sel);
|
| | | if(res.next()) {
|
| | | |
| | | state.setLock_state(res.getInt("lock_state"));
|
| | | |
| | | state.setComm_count(res.getInt("comm_count")); //'通信计数',
|
| | | state.setErr_tol_count(res.getInt("err_tol_count")); //'总错误计数',
|
| | | System.out.println("lock_state:" +state.getLock_state());
|
| | | }else {
|
| | | sql.sqlMysqlExecute(sql_str_ins);
|
| | | }
|
| | |
| | | * @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 "
|
| | | String sql_str = " SELECT op_cmd,id_card_set,lock_addr_set,ctl_uname "
|
| | | + " FROM " + Sql_Mysql.Lock_Rt_Table + ""
|
| | | + " WHERE lock_id = " + lock_id;
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | |
| | | 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"));
|
| | | param.setCtl_uname(res.getString("ctl_uname"));
|
| | |
|
| | | }
|
| | | } catch (SQLException e) {
|
| | |
| | | */
|
| | | public static void insertLock_Ctl_Log_Table(MysqlConnPool pool,ElectLock_Ctl_Log log) {
|
| | | String sql_str_ins = "INSERT INTO " + Sql_Mysql.Lock_Ctl_Log_Table + ""
|
| | | + " (lock_id,ctl_type,ctl_result,ctl_time,ctl_id_card) VALUES("
|
| | | + " (lock_id,ctl_type,ctl_result,ctl_time,ctl_id_card,ctl_uname) VALUES("
|
| | | + "" + log.lock_id
|
| | | + "," + log.ctl_type + ""
|
| | | + "," + log.ctl_result + ""
|
| | | + ",'" + Com.getDateTimeFormat(log.ctl_time, Com.DTF_YMDhms) + "'"
|
| | | + "," + log.ctl_id_card + ""
|
| | | + ",'" + log.ctl_uname + "'"
|
| | | + ");";
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | | try {
|
| | |
| | |
|
| | | public static List<ElectLock_AuthIdcard> queryAuth_Idcard_Table(MysqlConnPool pool, int client_id) {
|
| | | List<ElectLock_AuthIdcard> batch_auth = new ArrayList<>();
|
| | | String sql_str = "SELECT DISTINCT(tb_key_inf.key_id),lock_id,state,tb_auth_idcard.create_time,key_number " + |
| | | String sql_str = "SELECT DISTINCT(tb_key_inf.key_id),lock_id,state,tb_auth_idcard.create_time,key_number,ctl_uname " + |
| | | " FROM " + Sql_Mysql.Key_Inf_Table + "," + Sql_Mysql.Auth_Idcard_Table +
|
| | | " WHERE tb_key_inf.key_id = tb_auth_idcard.key_id AND lock_id = " + client_id + " AND key_type = 1 ";
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | |
| | | auth.state = res.getInt("state"); //'1:移除id卡,2添加id卡,3已处理',
|
| | | auth.create_time = res.getTimestamp("create_time"); //'创建时间'
|
| | | auth.key_number = res.getString("key_number"); //ID卡号
|
| | |
|
| | | auth.ctl_uname = res.getString("ctl_uname"); //操作人姓名
|
| | |
|
| | | batch_auth.add(auth);
|
| | | }
|
| | |
| | | sql.close_con();
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 查询ID钥匙的归属人姓名
|
| | | * @param pool
|
| | | * @param client_id
|
| | | * @param last_unlock_id
|
| | | * @return
|
| | | */
|
| | | public static String queryKeyInfByKeyNumberTable(MysqlConnPool pool, int keyNumber) {
|
| | | String uname = "";
|
| | | String sql_str = " SELECT * FROM " + Sql_Mysql.Key_Inf_Table
|
| | | + " WHERE key_number = " + keyNumber;
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | | ResultSet res = null;
|
| | | try {
|
| | | System.out.println("====="+sql_str);
|
| | | res = sql.sqlMysqlQuery(sql_str);
|
| | | if(res.next()) {
|
| | | uname = res.getString("uname");
|
| | | System.out.println("uname:" + uname);
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | sql.logger.error(e.toString(),e);
|
| | | } finally {
|
| | | if(null != res) {
|
| | | try {
|
| | | res.close();
|
| | | } catch (SQLException e) {
|
| | | sql.logger.error(e.toString(),e);
|
| | | }
|
| | | }
|
| | | sql.close_con();
|
| | | }
|
| | | return uname;
|
| | | }
|
| | | }
|
| | |
| | | public Date create_time; //'创建时间'
|
| | | public String key_number; //ID卡号
|
| | | public int auth_result = ElectLock_ComBase.Auth_Success; //授权结果[0-失败 1-成功]
|
| | | public String ctl_uname = ""; //操作人姓名
|
| | |
|
| | | }
|
| | |
| | | public static final int CtlType_SetLockAddr = 4; //设置锁具地址
|
| | | public static final int CtlType_AddIdCard = 5; //添加授权卡ID
|
| | | public static final int CtlType_RemoveIdCard = 6; //移除授权卡ID
|
| | | public static final int CtlType_Bluetooth = 7; //蓝牙开锁
|
| | | public static final int CtlType_IDCardOpen = 8; //ID开锁
|
| | | /************************************************************************************/
|
| | |
|
| | | }
|
| | |
| | | public boolean ctl_result; //'操作结果[0-失败 1-成功]',
|
| | | public Date ctl_time; //'操作时间',
|
| | | public int ctl_id_card; //'添加或者移除的授权ID卡号',
|
| | | public String ctl_uname = ""; //操作用户名
|
| | |
|
| | | public ElectLock_Ctl_Log() {
|
| | | this.ctl_time = new Date();
|
| | |
| | | this.ctl_time = new Date();
|
| | | }
|
| | |
|
| | | public ElectLock_Ctl_Log(int lock_id,int ctl_type,boolean ctl_result,int ctl_id_card) {
|
| | | // public ElectLock_Ctl_Log(int lock_id,int ctl_type,boolean ctl_result,int ctl_id_card) {
|
| | | // this.lock_id = lock_id;
|
| | | // this.ctl_type = ctl_type;
|
| | | // this.ctl_result = ctl_result;
|
| | | // this.ctl_id_card = ctl_id_card;
|
| | | // this.ctl_time = new Date();
|
| | | // }
|
| | |
|
| | | public ElectLock_Ctl_Log(int lock_id,int ctl_type,boolean ctl_result,int ctl_id_card,String ctl_uname) {
|
| | | this.lock_id = lock_id;
|
| | | this.ctl_type = ctl_type;
|
| | | this.ctl_result = ctl_result;
|
| | | this.ctl_id_card = ctl_id_card;
|
| | | this.ctl_time = new Date();
|
| | | this.ctl_uname = ctl_uname;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | import com.base.ComBase;
|
| | |
|
| | | public class ElectLock_State {
|
| | | public static final int Unlock_Type_485 = 0; //485
|
| | | public static final int Unlock_Type_ID = 1; //ID卡
|
| | | public static final int Unlock_Type_Bluetooth = 2; //蓝牙
|
| | | public static final int Unlock_Type_DI = 3; //DI
|
| | | |
| | | |
| | | public static int Reg_Count_Real = 8; //寄存器数量
|
| | |
|
| | | private Date record_time; //'更新时间',
|
| | |
| | |
|
| | | private int lock_online; //锁具在线状态[0-离线 1-在线]
|
| | |
|
| | | private boolean isIDOpen = false; //是否是ID开锁
|
| | | private int last_unlock_type; //'上一次开锁方式[0-485开锁 1-刷卡开锁 2-蓝牙开锁 3-DI开锁]',
|
| | | private int last_unlock_id; //'上一次刷开开锁卡号[仅刷开开锁时有效]',
|
| | |
|
| | | private String ctl_uname = ""; //操作用户名
|
| | | |
| | | public ElectLock_State() {
|
| | |
|
| | | }
|
| | |
| | |
|
| | | this.already_id_count = ComBase.changeShortToInt(buffer.getShort()); //'当前锁已授权卡数量',
|
| | | this.max_id_count = ComBase.changeShortToInt(buffer.getShort()); //'授权卡数量存储上限',
|
| | | int tmp_lock_state = lock_state;
|
| | | this.lock_state = ComBase.changeShortToInt(buffer.getShort()); //'电子锁状态[0-关 1-开]',
|
| | | int ver = ComBase.changeShortToInt(buffer.getShort());
|
| | | this.lock_version = " V"+ ver; //'软件版本号',
|
| | | |
| | | |
| | | this.unlock_type = ComBase.changeShortToInt(buffer.getShort()); //'上一次开锁方式[0-485开锁 1-刷卡开锁 2-蓝牙开锁 3-DI开锁]',
|
| | | this.unlock_id = (buffer.getInt()&0xFFFFFFFF); //'上一次刷开开锁卡号[仅刷开开锁时有效]',
|
| | | this.lock_addr = ComBase.changeShortToInt(buffer.getShort()); //'设备地址',
|
| | |
|
| | | //System.out.println(this);
|
| | | //System.out.println("this.lock_state:"+tmp_lock_state+"********lock_state:"+lock_state);
|
| | | if(this.lock_state != tmp_lock_state && this.lock_state == 1) {
|
| | | //锁具状态变化;锁从关闭变为打开
|
| | | if(this.unlock_type == Unlock_Type_ID) {
|
| | | //ID最近ID卡开锁
|
| | | isIDOpen = true;
|
| | | last_unlock_type = unlock_type; //'上一次开锁方式[0-485开锁 1-刷卡开锁 2-蓝牙开锁 3-DI开锁]',
|
| | | last_unlock_id = unlock_id; //'上一次刷开开锁卡号[仅刷开开锁时有效]',
|
| | | }
|
| | | }
|
| | |
|
| | | buffer.compact();
|
| | | return true;
|
| | |
| | | public int getAlready_id_count() {
|
| | | return already_id_count;
|
| | | }
|
| | |
|
| | | public String getCtl_uname() {
|
| | | return ctl_uname;
|
| | | }
|
| | |
|
| | |
|
| | | public void setCtl_uname(String ctl_uname) {
|
| | | this.ctl_uname = ctl_uname;
|
| | | }
|
| | |
|
| | |
|
| | | public int getMax_id_count() {
|
| | | return max_id_count;
|
| | |
| | | this.lock_addr_set = lock_addr_set;
|
| | | }
|
| | |
|
| | | public boolean isIDOpen() {
|
| | | return isIDOpen;
|
| | | }
|
| | |
|
| | |
|
| | | public int getLast_unlock_type() {
|
| | | return last_unlock_type;
|
| | | }
|
| | |
|
| | |
|
| | | public int getLast_unlock_id() {
|
| | | return last_unlock_id;
|
| | | }
|
| | |
|
| | |
|
| | | public void setIDOpen(boolean isIDOpen) {
|
| | | this.isIDOpen = isIDOpen;
|
| | | }
|
| | |
|
| | |
|
| | | public void setLast_unlock_type(int last_unlock_type) {
|
| | | this.last_unlock_type = last_unlock_type;
|
| | | }
|
| | |
|
| | |
|
| | | public void setLast_unlock_id(int last_unlock_id) {
|
| | | this.last_unlock_id = last_unlock_id;
|
| | | }
|
| | |
|
| | |
|
| | | public void addCommCount() {
|
| | | this.comm_count ++ ;
|
| | | if(this.comm_count > 999990000) {
|
| | |
| | | V1.108 edit by lijun 2025-01-06
|
| | | 1.新增批量授权逻辑,批量授权或取消时同时记录操作日志
|
| | | 2.新增锁具的在离线状态,方便平台统计
|
| | | 3.新增控制时新增当前操作用户名,并且监控ID开锁状态
|
| | |
|
| | |
|
| | |
|