| | |
| | |
|
| | | import java.sql.ResultSet;
|
| | | import java.sql.SQLException;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import com.base.Com;
|
| | | import com.dev.lock.data.ElectLock_AuthIdcard;
|
| | | import com.dev.lock.data.ElectLock_ComBase;
|
| | | import com.dev.lock.data.ElectLock_Ctl_Log;
|
| | | import com.dev.lock.data.ElectLock_State;
|
| | |
| | |
|
| | |
|
| | | public static void insertLock_Rt_Table(MysqlConnPool pool,int lock_id,ElectLock_State state) {
|
| | | String sql_str_sel = "SELECT * FROM " + Sql_Mysql.Lock_Rt_Table + " WHERE lock_id = 1";
|
| | | String sql_str_sel = "SELECT * FROM " + Sql_Mysql.Lock_Rt_Table + " WHERE lock_id = " + lock_id;
|
| | | String sql_str_ins = "INSERT INTO " + Sql_Mysql.Lock_Rt_Table + "(lock_id,client_ip) VALUES("+lock_id+",'" + state.getClient_ip() + "');";
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | | ResultSet res = null;
|
| | | 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);
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 更新 tb_lock_inf 表中锁的状态
|
| | | * @param pool
|
| | | * @param lock_id
|
| | | * @param state
|
| | | */
|
| | | public static void updateLock_Inf_Table(MysqlConnPool pool,int lock_id,ElectLock_State state) {
|
| | | String sql_str = "UPDATE " + Sql_Mysql.Lock_Inf_Table + |
| | | " Set lock_state = " + state.getLock_state() +
|
| | | " ,lock_online = " + state.getLock_online() +
|
| | | " ,last_update_time = NOW() " +
|
| | | " WHERE lock_id = " + lock_id;
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | | try {
|
| | | sql.sqlMysqlExecute(sql_str);
|
| | | } catch (SQLException e) {
|
| | | sql.logger.error(e.toString(),e);
|
| | | } finally {
|
| | | sql.close_con();
|
| | | }
|
| | | } |
| | | |
| | | |
| | | /**
|
| | | * 查询是否有需要控制的锁具
|
| | | * @param pool
|
| | | * @param lock_id
|
| | | * @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 {
|
| | |
| | | sql.close_con();
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | 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,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());
|
| | | ResultSet res = null;
|
| | | try {
|
| | | res = sql.sqlMysqlQuery(sql_str);
|
| | | while(res.next()) {
|
| | | ElectLock_AuthIdcard auth = new ElectLock_AuthIdcard();
|
| | | auth.key_id = res.getInt("key_id"); //'钥匙id',
|
| | | auth.lock_id = res.getInt("lock_id"); //'锁具id',
|
| | | 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);
|
| | | }
|
| | | } 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 batch_auth;
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 将当前批量操作记录移动到历史表
|
| | | * @param pool
|
| | | * @param tmp_auth
|
| | | */
|
| | | public static void moveAuth_Idcard_Table(MysqlConnPool pool, ElectLock_AuthIdcard tmp_auth) {
|
| | | ArrayList<String> sql_strs = new ArrayList<>();
|
| | | String sql_str_ins = "INSERT INTO " + Sql_Mysql.Auth_Idcard_His_Table + "(key_id,lock_id,state,create_time,end_time,auth_result)" + |
| | | "(" + |
| | | " SELECT key_id,lock_id,state,create_time,NOW()," + tmp_auth.auth_result +
|
| | | " FROM " + Sql_Mysql.Auth_Idcard_Table +
|
| | | " WHERE lock_id = " + tmp_auth.lock_id + " AND key_id = " + tmp_auth.key_id + |
| | | " AND create_time = '" + Com.getDateTimeFormat(tmp_auth.create_time, Com.DTF_YMDhms) + "' " + |
| | | ");";
|
| | | String sql_str_del = "DELETE FROM " + Sql_Mysql.Auth_Idcard_Table + " WHERE lock_id = " + tmp_auth.lock_id + " AND key_id = " + tmp_auth.key_id + " AND create_time = '" + Com.getDateTimeFormat(tmp_auth.create_time, Com.DTF_YMDhms) + "'";
|
| | | System.out.println(sql_str_ins);
|
| | | sql_strs.add(sql_str_ins);
|
| | | sql_strs.add(sql_str_del);
|
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
| | | try {
|
| | | sql.makeManualCommit(sql_strs);
|
| | | } catch (Exception e) {
|
| | | sql.logger.error(e.toString(),e);
|
| | | } finally {
|
| | | 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;
|
| | | }
|
| | | }
|