package com.dev.lock.data;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.time.Year;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.sql.MysqlConnPool;
|
import com.sql.Sql_Mysql;
|
|
public class ElectLock_Array {
|
|
private List<ElectLock_Inf> mInfs = new ArrayList<ElectLock_Inf>();
|
|
public ElectLock_Inf getIteam(int idx) {
|
return mInfs.get(idx);
|
}
|
|
public int getIteamCount() {
|
return mInfs.size();
|
}
|
|
|
public boolean initEleLockData(MysqlConnPool pool) {
|
String sql_str = " SELECT * FROM " + Sql_Mysql.Lock_Inf_Table;
|
Sql_Mysql sql = new Sql_Mysql(pool.getConn());
|
ResultSet res = null;
|
boolean isChange = false;
|
try {
|
int nowYear = Year.now().getValue();
|
|
res = sql.sqlMysqlQuery(sql_str);
|
while(res.next()) {
|
int lock_id = res.getInt("lock_id");
|
int station_id = res.getInt("station_id"); //区域ID
|
String lock_name = res.getString("lock_name"); //锁名称
|
String lock_type = res.getString("lock_type"); //锁类型(无源,蓝牙)
|
int lock_state = res.getInt("lock_state"); //锁状态
|
String lock_address = res.getString("lock_address"); //'锁地址',
|
String lock_path = res.getString("lock_path"); //'图片路径',
|
String lock_ip = res.getString("lock_ip").trim(); //'电子锁IP地址[内网可通过IP地址识别设备]',
|
|
Date lastUpdateTime = res.getTimestamp("last_update_time");
|
int open_count = res.getInt("lock_open_count");
|
|
boolean isexist = false;
|
for(int k = 0 ;k<mInfs.size();k++) {
|
ElectLock_Inf tmp_lock = getIteam(k);
|
if(lock_id == tmp_lock.getLock_id()) {
|
if(!lock_ip.equals(tmp_lock.getLock_ip())) {
|
tmp_lock.setLock_ip(lock_ip);
|
isChange = true;
|
}
|
isexist = true;
|
}
|
}
|
|
if(isexist) {
|
continue;
|
} else {
|
ElectLock_Inf tmp_lock = new ElectLock_Inf(pool);
|
tmp_lock.setLock_id(lock_id);
|
tmp_lock.setStation_id(station_id); //'区域id',
|
tmp_lock.setLock_name(lock_name); //'锁名称',
|
tmp_lock.setLock_type(lock_type); //'锁类型(无源,蓝牙)',
|
tmp_lock.setLock_state(lock_state); //'锁状态',
|
tmp_lock.setLock_address(lock_address); //'锁地址',
|
tmp_lock.setLock_path(lock_path); //'图片路径',
|
tmp_lock.setLock_ip(lock_ip);; //'电子锁IP地址[内网可通过IP地址识别设备]',
|
|
tmp_lock.lockState.setLast_update_time(lastUpdateTime); //上一次锁具状态更新时间
|
tmp_lock.lockState.setLock_open_count(open_count); //锁具开启次数
|
|
mInfs.add(tmp_lock);
|
}
|
|
}
|
} catch (Exception 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 isChange;
|
}
|
}
|