package com.sql;
|
import java.sql.Connection;
|
import java.sql.PreparedStatement;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.sql.Statement;
|
import java.util.ArrayList;
|
|
import com.base.Com;
|
|
/**
|
* ´´½¨Êý¾Ý¿âÒÔ¼°±í¸ñ
|
* @author ¾ü
|
*
|
*/
|
public class Sql_Mysql
|
{
|
//--------------------------------------------------------------------------------------------//
|
final public static String DB_AppSys = "`db_app_sys`";
|
final public static String DB_BATT_INF = "`db_battinf`";
|
final public static String DB_BATT_TESTDATA = "`db_batt_testdata`";
|
final public static String DB_PARAM = "`db_param`";
|
final public static String DB_ALARM = "`db_alarm`";
|
final public static String DB_USER = "`db_user`";
|
final public static String DB_RamDB = "`db_ram_db`";
|
|
final public static String WEB_Site = "web_site";
|
//--------------------------------------------------------------------------------------------//
|
public final static String TB_HardDevSmsState = "tb_hard_dev_sms_state";
|
//--------------------------------------------------------------------------------------------//
|
public final static String TB_AppSys = "tb_app_sys";
|
|
public final static String TB_BattTestDataInf = "tb_batttestdata_inf";
|
|
public final static String TB_UserInf = "tb_user_inf";
|
public final static String TB_UserLog = "tb_user_log";
|
public final static String TB_UserBattGroup_BaoJiGroup = "tb_user_battgroup_baojigroup";
|
public final static String TB_UserBattGroup_BaoJiGroup_BattGroup = "tb_user_battgroup_baojigroup_battgroup";
|
public final static String TB_UserBattGroup_BaoJiGroup_Usr = "tb_user_battgroup_baojigroup_usr";
|
public final static String TB_UserTaskTemplate = "tb_user_task_batt_template";
|
public final static String TB_UserTask = "tb_user_task";
|
public final static String TB_UserPaiXiu = "tb_user_paixiu";
|
public final static String TB_UserListForTask = "tb_user_task_user_list";
|
public final static String TB_UserTaskParam = "tb_user_task_param";
|
public final static String TB_UserBattCkeckTask = "tb_user_task_batt_check";
|
public final static String TB_UserBattTestTask = "tb_user_task_batt_test";
|
public final static String TB_UserBattTaskChange = "tb_user_task_change";
|
public final static String TB_UserSms = "tb_user_sms";
|
public final static String TB_UserSmsFormat = "tb_user_sms_format";
|
public final static String TB_UserPermitGroup = "tb_user_permitgroup";
|
public final static String TB_UserPermitGroupData = "tb_user_permitgroup_data";
|
public final static String TB_UserJieJiaRi = "tb_user_jiejiari";
|
//--------------------------------------------------------------------------------------------//
|
//--------------------------------------------------------------------------------------------//
|
public final static String ServerState_Table = DB_RamDB + ".`tb_server_state`";
|
public final static String BattRtData_Table = DB_RamDB + ".`tb_batt_rtdata`";
|
public final static String BattRtState_Table = DB_RamDB + ".`tb_batt_rtstate`";
|
|
public final static String CInterfaceState_Table = DB_RamDB + ".`tb_cinterface_state`";
|
|
public final static String HardDevSmsState_Table = DB_RamDB + ".`tb_hard_dev_sms_state`";
|
public final static String FBS9100State_Table = DB_RamDB + ".`tb_fbs9100_state`";
|
public final static String FBS9100SetParam_Table = DB_RamDB + ".`tb_fbs9100_setparam`";
|
//public final static String FBS9100Param_Table = DB_RamDB + ".`tb_fbs9100_param`";
|
|
public final static String BMP7100State_Table = DB_RamDB + ".`tb_bpm7100_state`";
|
|
public final static String FBS9600State_Table = DB_RamDB + ".`tb_fbs9600_state`";
|
public final static String FBS9600SetParam_Table = DB_RamDB + ".`tb_fbs9600_setparam`";
|
//public final static String FBS9600Param_Table = DB_RamDB + ".`tb_fbs9600_param`";
|
public final static String SocketClientStateTable = DB_RamDB + ".`tb_socketclient_state`";
|
public final static String RamDB_CMCC_POWER_Data = DB_RamDB + ".`cmcc_power_data`";
|
//--------------------------------------------------------------------------------------------//
|
//--------------------------------------------------------------------------------------------//
|
public final static String AppSys_Table = DB_AppSys + ".`tb_app_sys`";
|
public final static String BattInf_Table = DB_BATT_INF + ".`tb_battinf`";
|
public final static String BattCurrInf_Table = DB_BATT_INF + ".`tb_battcurr_inf`";
|
public final static String BattMainInf_Table = DB_BATT_INF + ".`tb_batt_maint_inf`";
|
public final static String BattMainProcess_Table = DB_BATT_INF + ".`tb_batt_maint_process`";
|
|
public final static String BattTestDataInf_Table = DB_BATT_TESTDATA + ".`tb_batttestdata_inf`";
|
public final static String BattResData_Table = DB_BATT_TESTDATA + ".`tb_BattResData`";
|
public final static String BattResDataInf_Table = DB_BATT_TESTDATA + ".`tb_battresdata_inf`";
|
|
public final static String UserInfTable = DB_USER + ".`tb_user_inf`";
|
public final static String UserLogTable = DB_USER + ".`tb_user_log`";
|
public final static String UserBattGroup_BaoJiGroup_Table = DB_USER + ".`tb_user_battgroup_baojigroup`";
|
public final static String UserBattGroup_BaoJiGroup_BattGroupTable = DB_USER + ".`tb_user_battgroup_baojigroup_battgroup`";
|
public final static String UserBattGroup_BaoJiGroup_UsrTable = DB_USER + ".`tb_user_battgroup_baojigroup_usr`";
|
public final static String UserTaskTemplateTable = DB_USER + ".`tb_user_task_batt_template`";
|
public final static String UserTaskTable = DB_USER + ".`tb_user_task`";
|
public final static String UserPaiXiuTable = DB_USER + ".`tb_user_paixiu`";
|
public final static String UserListForTaskTable = DB_USER + ".`tb_user_task_user_list`";
|
public final static String UserTaskParamTable = DB_USER + ".`tb_user_task_param`";
|
public final static String UserBattCheckTaskTable = DB_USER + ".`tb_user_task_batt_check`";
|
public final static String UserBattTestTaskTable = DB_USER + ".`tb_user_task_batt_test`";
|
|
public final static String UserBattTaskChangeTable = DB_USER + ".`tb_user_task_change`";
|
|
public final static String UsrBattMaintCheck_Table = DB_USER + ".`tb_user_battmaint_check`";
|
public final static String UsrBattMaintCheckProcess_Table = DB_USER + ".`tb_user_battmaint_check_process`";
|
|
public final static String UserSmsTable = DB_USER + ".`tb_user_sms`";
|
public final static String UserSmsFormatTable = DB_USER + ".`tb_user_sms_format`";
|
public final static String UserPermitGroupTable = DB_USER + ".`tb_user_permitgroup`";
|
public final static String UserPermitGroupDataTable = DB_USER + ".`tb_user_permitgroup_data`";
|
public final static String UserJieJiaRiTable = DB_USER + ".`tb_user_jiejiari`";
|
//--------------------------------------------------------------------------------------------//
|
public final static String Tb_BattDischarge_ParamTable = WEB_Site+".tb_battdischarge_param"; //µç³Ø·Åµç¼Æ»®²ÎÊý±í
|
public final static String Tb_BattMap_InformationTable = WEB_Site+".tb_battmap_information"; //µç³Ø¶¨Î»ÐÅÏ¢±í
|
public final static String Tb_Batt_DevDischargeTable = WEB_Site+".tb_batt_devdischarge"; //¼¸ÖÖÔËÓªÉ̵ĵçѹµçÁ÷Çé¿ö±í
|
public final static String Tb_BattDischarge_PlanTable = WEB_Site+".tb_battdischarge_plan"; //µç³Ø·Åµç¼Æ»®±í
|
public final static String Tb_Batt_ElectricityTable = WEB_Site+".tb_batt_electricity"; //ÔËÓªÉÌÉ豸µÄÓõçÁ¿±í
|
public final static String Tb_Batt_Devdischarge_ParamTable = WEB_Site+".tb_batt_devdischarge_param"; //ÔËÓªÉÌÉ豸¼Ç¼µÄ²ÎÊý±í
|
public final static String Tb_Batt_Devdischarge_CMTable = WEB_Site+".tb_batt_devdischarge_CM"; //ÒÆ¶¯Ã¿¸öʱ¼ä´ÁµÄµçѹµçÁ÷¹¦Âʱí
|
public final static String Tb_Batt_Devdischarge_CTTable = WEB_Site+".tb_batt_devdischarge_CT"; //µçÐÅÿ¸öʱ¼ä´ÁµÄµçѹµçÁ÷¹¦Âʱí
|
public final static String Tb_Batt_Devdischarge_CUTable = WEB_Site+".tb_batt_devdischarge_CU"; //ÁªÍ¨Ã¿¸öʱ¼ä´ÁµÄµçѹµçÁ÷¹¦Âʱí
|
public final static String Tb_CustomPageTable = WEB_Site+".tb_custompage"; //Ò³Ãæµ¼º½±í
|
public final static String Tb_Vip_UserTable = WEB_Site+".tb_vip_user"; //³¬¼¶¹ÜÀíÔ±±í
|
public final static String Tb_Batt_Param_LowTable = WEB_Site+".tb_batt_param_low"; //Ðîµç³Ø¸÷Öָ澯¸ü»»²ÎÊý±í
|
public final static String Tb_AnnounceTable = WEB_Site+".tb_announce"; //¹«¸æÐÅÏ¢±í
|
//--------------------------------------------------------------------------------------------//
|
public Connection mysql_con;
|
|
public Sql_Mysql(Connection conn)
|
{
|
mysql_con = conn;
|
}
|
|
/*
|
public static Connection getConnection() throws SQLException, java.lang.ClassNotFoundException{
|
String url = "jdbc:mysql://192.168.48.128:3306/studentinfo";
|
Class.forName("com.mysql.jdbc.Driver");
|
String userName = "root";
|
String password = "lmx8688139";
|
Connection con = DriverManager.getConnection(url,userName,password);
|
return con;
|
}
|
*/
|
|
public void close_con()
|
{
|
try {
|
mysql_con.close();
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
}
|
|
public void checkAndCreateDB() throws SQLException
|
{
|
sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + DB_ALARM);
|
}
|
|
//ʹÓÃdbÊý¾Ý¿â
|
public void sqlMysqlUseDB(String db) throws SQLException
|
{
|
sqlMysqlExecute("use " + db);
|
}
|
|
//»ñÈ¡µç³Ø×é»ú·¿µÄ¸öÊý
|
public int getBattStationCount()
|
{
|
int st_count = 0;
|
|
try {
|
sqlMysqlUseDB(Sql_Mysql.DB_BATT_INF);
|
|
String sql_str = "SELECT DISTINCT StationId FROM " + BattInf_Table;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
while(res.next())
|
{
|
st_count++;
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return st_count;
|
}
|
|
/**
|
* ¼ì²étb±íÊÇ·ñ´æÔÚ
|
* @param tb
|
* @return
|
* @throws SQLException
|
*/
|
public boolean sqlMysqlCheckIfTableExist(String tb) throws SQLException
|
{
|
String sql_str = "SHOW TABLES LIKE '" + tb + "'";
|
ResultSet res = sqlMysqlQuery(sql_str);
|
boolean exist = false;
|
while(res.next())
|
{
|
exist = true;
|
break;
|
}
|
|
return exist;
|
}
|
|
//Ö´ÐÐsqlÓï¾ä
|
public void sqlMysqlExecute(String sql_str) throws SQLException
|
{
|
Statement sql = mysql_con.createStatement();
|
sql.setQueryTimeout(30);
|
sql.execute(sql_str);
|
}
|
|
|
//ÔÚÊÂÎïÖÐÖ´ÐжàÌõsqlÓï¾ä
|
public boolean makeManualCommit(ArrayList<String> al_sql_strs)
|
{
|
boolean exe_res = true;
|
try {
|
mysql_con.setAutoCommit(false);
|
|
for(int n=0; n<al_sql_strs.size(); n++) {
|
sqlMysqlExecute(al_sql_strs.get(n));
|
}
|
|
if(true == exe_res) {
|
mysql_con.commit();
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
exe_res = false;
|
} finally {
|
try {
|
if(false == exe_res) {
|
mysql_con.rollback();
|
}
|
mysql_con.setAutoCommit(true);
|
} catch (SQLException e1) {
|
// TODO Auto-generated catch block
|
e1.printStackTrace();
|
}
|
}
|
|
return exe_res;
|
}
|
|
//¸ù¾ÝsqlÓï¾äÖ´ÐÐsql²éѯÓï¾ä
|
public ResultSet sqlMysqlQuery(String sql_str)
|
{
|
ResultSet res = null;
|
try
|
{
|
Statement sql = mysql_con.createStatement();
|
sql.setQueryTimeout(30);
|
String query = sql_str;
|
res = sql.executeQuery(query);
|
}
|
catch(SQLException ex)
|
{
|
System.err.println("SQLException:" + ex.getMessage());
|
}
|
|
return res;
|
}
|
|
public boolean sqlMySqlExecute(String sql_str){
|
PreparedStatement ps = null;
|
boolean flag = false;
|
try {
|
ps = mysql_con.prepareStatement(sql_str);
|
int length = ps.executeUpdate();
|
if(length > 0){
|
flag = true;
|
}
|
} catch (SQLException e) {
|
flag = false;
|
e.printStackTrace();
|
}
|
return flag;
|
}
|
|
//¸ù¾ÝsqlÓï¾äÖ´ÐÐsql¸üÐÂÓï¾ä
|
public void sqlMysqlUpdate(String sql_str)
|
{
|
try
|
{
|
Statement sql = mysql_con.createStatement();
|
sql.setQueryTimeout(30);
|
String query = sql_str;
|
sql.execute(query);
|
}
|
catch(SQLException ex)
|
{
|
System.out.println("SQLException:" + ex.getMessage());
|
}
|
}
|
|
//¸ù¾Ýµç³Ø×éid »ñÈ¡»ú·¿Ãû³Æ
|
public String getStationName(int bg_id)
|
{
|
String stname = " ";
|
|
String sql_str = "SELECT DISTINCT StationName FROM "
|
+ Sql_Mysql.BattInf_Table + " WHERE BattGroupId=" + bg_id;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
stname = res.getString("StationName");
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return stname;
|
}
|
|
//¸ù¾Ýµç³Ø×éid »ñÈ¡µç³Ø×éÃû³Æ
|
public String getBattGroupName(int bg_id)
|
{
|
String bgname = " ";
|
|
String sql_str = "SELECT DISTINCT BattGroupName FROM "
|
+ Sql_Mysql.BattInf_Table + " WHERE BattGroupId=" + bg_id;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
bgname = res.getString("BattGroupName");
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return bgname;
|
}
|
|
//¸ù¾ÝÓû§µÄid»ñÈ¡Óû§µÄÃû³Æ
|
public String getUsrName(int uid)
|
{
|
String usrname = " ";
|
|
String sql_str = "SELECT uName FROM " + Sql_Mysql.UserInfTable + " WHERE uId=" + uid;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
usrname = res.getString("uName");
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return usrname;
|
}
|
|
//¸ù¾Ýformat_type »ñÈ¡format_str µÄÑùʽ
|
public String getTaskSmsFormatStr(String format_type)
|
{
|
String str = "";
|
String sql_str = "SELECT DISTINCT "
|
+ Sql_Mysql.UserSmsFormatTable + ".format_str"
|
+ " FROM " + Sql_Mysql.UserSmsFormatTable
|
+ " WHERE "
|
+ Sql_Mysql.UserSmsFormatTable + ".format_type='" + format_type + "'";
|
|
ResultSet sql_res = sqlMysqlQuery(sql_str);
|
try {
|
if(sql_res.next())
|
{
|
str = sql_res.getString("format_str");
|
}
|
} catch (SQLException e1) {
|
// TODO Auto-generated catch block
|
//e1.printStackTrace();
|
}
|
|
return str;
|
}
|
|
//¸ù¾Ý×÷Òµid»ñÈ¡×÷ÒµµÄÃû³Æ
|
public String getUsrTaskName(int taskid)
|
{
|
String taskname = " ";
|
|
String sql_str = "SELECT task_name FROM " + Sql_Mysql.UserTaskTable + " WHERE task_id=" + taskid;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
try {
|
if(res.next()) {
|
taskname = res.getString("task_name");
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return taskname;
|
}
|
|
//¸ù¾Ý×÷Òµid»ñÈ¡Óû§×÷ÒµµÄ´´½¨Ê±¼ä
|
public String getUsrTaskCreateTime(int taskid)
|
{
|
String taskcreatetime = " ";
|
|
String sql_str = "SELECT task_create_date FROM " + Sql_Mysql.UserTaskTable + " WHERE task_id=" + taskid;
|
ResultSet res = sqlMysqlQuery(sql_str);
|
try {
|
if(res.next())
|
{
|
taskcreatetime = Com.getDateTimeFormat(res.getTimestamp("task_create_date"), Com.DTF_YMDhms);
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
|
return taskcreatetime;
|
}
|
|
|
//»ñȡд´½¨µÄ¼Ç¼µÄtestrecordcountµÄÖµ
|
public int getBattTestRecordCountNew(int bg_id, String table)
|
{
|
int count = 0;
|
boolean res_exe = true;
|
String sql_str0 = "SELECT test_record_count_ex FROM " + table
|
+ " WHERE BattGroupId=" + bg_id + " FOR UPDATE";
|
String sql_str1 = "UPDATE " + table + " SET test_record_count_ex=test_record_count+1"
|
+ " WHERE BattGroupId=" + bg_id;
|
String sql_str2 = "SELECT MAX(test_record_count_ex) FROM " + table
|
+ " WHERE BattGroupId=" + bg_id;
|
String sql_str3 = "INSERT INTO " + table + " (BattGroupId,test_record_count, test_record_count_ex) "
|
+ " VALUES (" + bg_id + "," + 1 + "," + 1 + ")";
|
try {
|
mysql_con.setAutoCommit(false);
|
ResultSet res = sqlMysqlQuery(sql_str0);
|
if(res.next()) {
|
sqlMysqlExecute(sql_str1);
|
res = sqlMysqlQuery(sql_str2);
|
if(res.next()) {
|
count = res.getInt(1);
|
}
|
} else {
|
count = 1;
|
sqlMysqlExecute(sql_str3);
|
}
|
|
mysql_con.commit();
|
} catch (SQLException e) {
|
e.printStackTrace();
|
res_exe = false;
|
} finally {
|
if(false == res_exe) {
|
try {
|
mysql_con.rollback();
|
mysql_con.setAutoCommit(true);
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
|
return count;
|
}
|
}
|