package com.dev.btse.comm;
|
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
|
import com.battmonitor.sql.MysqlConnPool;
|
import com.battmonitor.sql.Sql_Mysql;
|
import com.dev.btse.data.FBS9100_StatAndParam;
|
|
public class FBS9100S_DFU_SQL {
|
/***************************************************************************/
|
public static final int DFU_STATE_NULL = 0;
|
public static final int DFU_STATE_WRITE = 1;
|
public static final int DFU_STATE_READ = 2;
|
public static final int DFU_STATE_CHECK_OK = 3;
|
/***************************************************************************/
|
/**
|
* ´´½¨ tb_fbs9100s_dfu ±í²¢ÇÒ½«É豸idºÍÉ豸ip²åÈëµ½±íÖÐ
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void createFBS9100S_DFU_TableOnRam(MysqlConnPool con_pool, ArrayList<FBS9100_StatAndParam> al_param)
|
{
|
String str1 = "DROP TABLE IF EXISTS " + Sql_Mysql.FBS9100S_DFUState_Table;
|
String str2 = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.FBS9100S_DFUState_Table
|
+ " ( `num` BIGINT NOT NULL AUTO_INCREMENT, "
|
+ "`dev_id` BIGINT NOT NULL DEFAULT 0, "
|
+ "`sysVersion_new` INT NOT NULL DEFAULT 0, "
|
+ "`softVersion_new` INT NOT NULL DEFAULT 0, "
|
+ "`sysVersion_dev` INT NOT NULL DEFAULT 0, "
|
+ "`softVersion_dev` INT NOT NULL DEFAULT 0, "
|
+ "`dfu_file` varchar(200) NOT NULL DEFAULT ' ', "
|
+ "`dfu_en` BOOLEAN NOT NULL DEFAULT false, "
|
+ "`dfu_wr_stat` INT NOT NULL DEFAULT 0, "
|
+ "`dfu_data_blocknum` INT NOT NULL DEFAULT 0, "
|
+ "`dfu_data_blocklen` INT NOT NULL DEFAULT 256, "
|
+ "`dfu_file_len` INT NOT NULL DEFAULT 0, "
|
+ "`dfu_password` varchar(100) NOT NULL DEFAULT ' ', "
|
+ " UNIQUE INDEX index_dev_id_uniq (`dev_id`), "
|
+ " PRIMARY KEY (`num`) ) "
|
+ " ENGINE=MEMORY DEFAULT CHARSET=utf8";
|
|
String str3 = "";
|
if(al_param.size() > 0) {
|
str3 = "INSERT INTO " + Sql_Mysql.FBS9100S_DFUState_Table
|
+ " (dev_id) VALUES";
|
}
|
for(int n=0; n<al_param.size(); n++)
|
{
|
if(n > 0) {
|
str3 += ", ";
|
}
|
str3 += " (" + al_param.get(n).dev_id + ")";
|
}
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
sql.sqlMysqlExecute(str1);
|
sql.sqlMysqlExecute(str2);
|
if(str3.length() > 0) {
|
sql.sqlMysqlExecute(str3);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ¸ù¾ÝÉ豸id¸üРtb_fbs9100S_dfu ±í
|
* @param con_pool
|
* @param v_data
|
* @param dev_id
|
*/
|
public static void updateFbs9100S_DFU_StatByDev_Id(MysqlConnPool con_pool, int dev_id, FBS9100S_DFU dfu_t)
|
{
|
String sql_str_base = Sql_Mysql.FBS9100S_DFUState_Table
|
+ " SET "
|
+ "dev_id=" + dev_id + ", "
|
+ "dfu_file='" + dfu_t.DFU_FileName + "', "
|
+ "dfu_en=" + dfu_t.DFU_EN + ", "
|
+ "dfu_wr_stat=" + dfu_t.DFU_WR_State + ", "
|
+ "dfu_data_blocknum=" + dfu_t.DFU_DataBlockNum_Start + ", "
|
+ "dfu_file_len=" + dfu_t.DFU_FileByteLen;
|
|
//String sql_str_update = "UPDATE " + sql_str_tb + sql_str_base + " WHERE dev_id=" + dev_id;
|
String sql_str_replace = "REPLACE INTO " + sql_str_base;
|
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
try {
|
//System.out.println(sql_str_replace);
|
sql.sqlMysqlExecute(sql_str_replace);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
//e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
/**
|
* ¸ù¾Ýtb_fbs9100s_dfu±í¸üÐÂFBS9100S_DFUÀàÊý¾Ý
|
* @param con_pool
|
* @param al_param
|
*/
|
public static void queryFbs9100S_DFU_StateBydev_id(MysqlConnPool con_pool, int dev_id, FBS9100S_DFU dfu_t)
|
{
|
String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100S_DFUState_Table + " WHERE dev_id = " + dev_id;
|
Sql_Mysql sql = new Sql_Mysql(con_pool.getConn());
|
ResultSet res = sql.sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
if(null != dfu_t) {
|
dfu_t.DFU_EN = res.getBoolean("dfu_en");
|
dfu_t.DFU_FileName = res.getString("dfu_file");
|
dfu_t.DFU_WR_State = res.getInt("dfu_wr_stat");
|
dfu_t.DFU_DataBlockNum_Start = res.getInt("dfu_data_blocknum");
|
dfu_t.DFU_CommBuf_LEN = res.getInt("dfu_data_blocklen");
|
}
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally {
|
sql.close_con();
|
}
|
}
|
|
}
|