package com.thread.devs; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; import com.base.Com; import com.mode.Motor_State; import com.sql.MysqlConnPool; import com.sql.Sql_Mysql; public class Manage_Simul_Motor_Thread_SQL { public static void insertOrUpdateMotor_State_Table(MysqlConnPool pool,Motor_State state) { String sql_str = " SELECT device_id FROM "+Sql_Mysql.Tb_Motor_State_Table+" WHERE device_id = " + state.device_id; String sql_str_ins = " INSERT INTO " + Sql_Mysql.Tb_Motor_State_Table + "(device_id,record_time,motor_curr,motor_power,motor_speed,motor_vol,motor_out_tmp,motor_into_tmp,motor_torque,motor_state) " + "VALUES("+state.device_id+",'"+Com.getDateTimeFormat(state.record_time, Com.DTF_YMDhms)+"',"+state.motor_curr+","+state.motor_power+","+state.motor_speed+","+state.motor_vol+","+state.motor_out_tmp+","+state.motor_into_tmp+","+state.motor_torque+","+state.motor_state+")"; String sql_str_upd = "UPDATE " + Sql_Mysql.Tb_Motor_State_Table + " SET device_id="+state.device_id+"" + ",record_time = '"+Com.getDateTimeFormat(state.record_time, Com.DTF_YMDhms) + "',motor_curr="+state.motor_curr + ",motor_power="+state.motor_power + ",motor_speed="+state.motor_speed + ",motor_vol="+state.motor_vol + ",motor_out_tmp="+state.motor_out_tmp + ",motor_into_tmp="+state.motor_into_tmp + ",motor_torque="+state.motor_torque + ",motor_state=" + state.motor_state+ " WHERE device_id = " + state.device_id; ResultSet res = null; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { res = sql.sqlMysqlQuery(sql_str); if(res.next()) { sql.sqlMysqlExecute(sql_str_upd); }else { sql.sqlMysqlExecute(sql_str_ins); } } catch (Exception e) { e.printStackTrace(); } finally { if(null != res) { try { res.close(); } catch (SQLException e) { e.printStackTrace(); } } sql.close_con(); } } /** * ¸üеç»úʵʱ״̬ * @param pool * @param state */ public static void updateMotor_State_Table(MysqlConnPool pool,Motor_State state) { String sql_str_upd = "UPDATE " + Sql_Mysql.Tb_Motor_State_Table + " SET device_id="+state.device_id+"" + ",record_time = '"+Com.getDateTimeFormat(state.record_time, Com.DTF_YMDhms) + "',motor_curr="+state.motor_curr + ",motor_power="+state.motor_power + ",motor_speed="+state.motor_speed + ",motor_vol="+state.motor_vol + ",motor_out_tmp="+state.motor_out_tmp + ",motor_into_tmp="+state.motor_into_tmp + ",motor_torque="+state.motor_torque + ",motor_state=" + state.motor_state+ " WHERE device_id = " + state.device_id; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { //System.out.println(sql_str_upd); sql.sqlMysqlExecute(sql_str_upd); } catch (Exception e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * * @param pool * @param state * @param time */ public static void createTb_Motor_State_RealData_Table(MysqlConnPool pool,int device_id,Date time) { String sql_str = "CREATE TABLE IF NOT EXISTS "+Sql_Mysql.Tb_Motor_State_RealData_Table+device_id+"_"+Com.getDateTimeFormat(time, Com.DTF_Y_M_D)+" (" + " `num` bigint(20) NOT NULL AUTO_INCREMENT," + " `device_id` int(11) NOT NULL DEFAULT '100001' COMMENT 'É豸id'," + " `record_time` datetime NOT NULL DEFAULT '2000-01-01 00:00:00' COMMENT '¼Ç¼ʱ¼ä'," + " `motor_curr` float NOT NULL DEFAULT '0' COMMENT 'µç»úµçÁ÷'," + " `motor_power` float NOT NULL DEFAULT '0' COMMENT 'µç»ú¹¦ÂÊ'," + " `motor_speed` float NOT NULL DEFAULT '0' COMMENT 'µç»úתËÙ'," + " `motor_vol` float NOT NULL DEFAULT '0' COMMENT 'µç»úµçѹ'," + " `motor_out_tmp` float NOT NULL DEFAULT '0' COMMENT 'µç»ú³ö¿ÚζÈ'," + " `motor_into_tmp` float NOT NULL DEFAULT '0' COMMENT 'µç»ú½ø¿ÚζÈ'," + " `motor_torque` float NOT NULL DEFAULT '0' COMMENT 'µç»úת¾Ø'," + " `motor_state` int(11) NOT NULL DEFAULT '0' COMMENT 'µç»ú״̬'," + " PRIMARY KEY (`num`)" + ") ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * ²åÈëÀúʷʵʱÊý¾Ý * @param pool * @param state */ public static void insertMotor_State_RealData_Table(MysqlConnPool pool,Motor_State state) { String sql_str_ins = " INSERT INTO " + Sql_Mysql.Tb_Motor_State_RealData_Table+state.device_id+"_"+Com.getDateTimeFormat(state.record_time, Com.DTF_Y_M_D) + "(device_id,record_time,motor_curr,motor_power,motor_speed,motor_vol,motor_out_tmp,motor_into_tmp,motor_torque,motor_state) " + "VALUES("+state.device_id+",'"+Com.getDateTimeFormat(state.record_time, Com.DTF_YMDhms)+"',"+state.motor_curr+","+state.motor_power+","+state.motor_speed+","+state.motor_vol+","+state.motor_out_tmp+","+state.motor_into_tmp+","+state.motor_torque+","+state.motor_state+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str_ins); } catch (Exception e) { e.printStackTrace(); } finally { sql.close_con(); } } }