whyclj
2020-10-11 e72ab6c7f9e4ca9b9f57af0cdcde135d049513e5
src/com/data/PowerArk_Task_SQL.java
@@ -11,6 +11,7 @@
import com.dev.base.data.Dynamicload_control;
import com.dev.base.data.Dynamicload_inf;
import com.dev.base.data.Dynamicload_state;
import com.modbus.data.MyModbusMaster;
import com.sql.MysqlConnPool;
import com.sql.Sql_Mysql;
@@ -157,7 +158,7 @@
      }
   }
   /**
    * 创建负载信息表
    *    创建负载信息表
    * @param pool
    */
   public static void createTb_Dynamicload_State_rt(MysqlConnPool pool) {
@@ -198,8 +199,19 @@
            "  KEY dev_id_key (dev_id)" + 
            ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;";
      Sql_Mysql sql = new Sql_Mysql(pool.getConn());
      ResultSet res = null;
      try {
         sql.sqlMysqlExecute(sql_str);
         //添加记录时间列,方便绘制实时曲线
         res = sql.sqlMysqlQuery("SELECT * FROM information_schema.columns"
               + " WHERE table_schema='db_dynamicsystem'"
               + " AND table_name='tb_dynamicload_state_rt'"
               + " AND column_name='record_time'");
         if(false == res.next()) {
            sql.sqlMysqlExecute("ALTER TABLE " + Sql_Mysql.Tb_Dynamicload_State_rt
                  + " ADD COLUMN `record_time`  datetime NOT NULL DEFAULT '2000-01-01 00:00:00' after dev_id;");
         }
      } catch (SQLException e) {
         e.printStackTrace();
      } finally {
@@ -347,7 +359,7 @@
            dyna.setNote(res.getString("note"));
            
            dyna.button = new Dynamicload_button(dyna.dev_id);
            dyna.control = new Dynamicload_control(dyna.dev_id);
            dyna.control = new Dynamicload_control(dyna.dev_id,dyna.getFZ_button_num());
            dyna.state = new Dynamicload_state(dyna.dev_id,0);
            dys.add(dyna);
         }
@@ -427,7 +439,8 @@
   public static void updateDynamicload_StateTable(MysqlConnPool conn_pool,Dynamicload_state state) {
      String sql_str = " UPDATE  " + Sql_Mysql.Tb_Dynamicload_State_rt 
            + " SET "
            +" start_auto=" + state.getStart_auto()
            +" record_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"'"
            +",start_auto=" + state.getStart_auto()
            +",stop_auto=" + state.getStop_auto()
            +",sudden_crease=" + state.getSudden_crease()
            +",all_open=" + state.getAll_open()
@@ -466,4 +479,42 @@
         sql.close_con();
      }
   }
   /**
    *    插入或更新当前设备的连接状态
    * @param pool
    * @param dev_id
    * @param master
    */
   public static void insertOrUpdateDeviceConnectState(MysqlConnPool pool,int dev_id,MyModbusMaster master) {
      String sql_str_sel = " SELECT * FROM "+Sql_Mysql.Tb_Device_ConnectState+" WHERE dev_id = " + dev_id;
      String sql_str_ins = " INSERT INTO "+Sql_Mysql.Tb_Device_ConnectState+"(dev_id,connect_en,record_time) values("+dev_id+","+master.getConnectState()+",'"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"');";
      String sql_str_upd = " UPDATE "+Sql_Mysql.Tb_Device_ConnectState+" SET connect_en = "+master.getConnectState()+",record_time='"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"' WHERE dev_id = " + dev_id;
      Sql_Mysql sql = new Sql_Mysql(pool.getConn());
      ResultSet res = null;
      try {
         res = sql.sqlMysqlQuery(sql_str_sel);
         if(res.next()) {
            sql.sqlMysqlExecute(sql_str_upd);
         }else {
            sql.sqlMysqlExecute(sql_str_ins);
         }
      } catch (SQLException e) {
         e.printStackTrace();
      } finally {
         if(res != null) {
            try {
               res.close();
            } catch (SQLException e) {
               e.printStackTrace();
            }
            sql.close_con();
         }
      }
   }
   public static void queryDynamicload_Control(MysqlConnPool conn_pool, Dynamicload_control dcontrol) {
   }
}