DELL
2020-04-06 1479e900742241b540bfd1235fc4fdad941df1d8
src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
@@ -5,6 +5,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.base.Com;
import com.battdata_rt.BattData_RT;
@@ -1269,7 +1270,8 @@
                     + " CurrentTyte =" + sysparam.CurrentTyte  + ", "                  //浮充电流阀值
                     + " PowerBreakChargeCurr =" + sysparam.PowerBreakChargeCurr  + ", "      //电流异常阀值
                     + " POF_BG_Boost_VolStop =" + sysparam.POF_BG_Boost_VolStop  + ", "      //电压过高阀值
                     + " POF_BG_Boost_VolStart =" + sysparam.POF_BG_Boost_VolStart  + " ";   //电压过低阀值
                     + " POF_BG_Boost_VolStart =" + sysparam.POF_BG_Boost_VolStart  + ", "   //电压过低阀值
                     + " MonomerOrder =" + sysparam.MonomerOrder  + " ";                  //主从机模式
                     //+ " where dev_id = " + param.dev_id;
         //String sql_str_update = "UPDATE " + sql_str_base;
         String sql_str_replace = " REPLACE INTO " + sql_str_base;
@@ -1318,4 +1320,115 @@
         param.op_cmd = FBS9100_ComBase.CMD_NULL;
      }
   }
   /**
    * 创建历史事件记录表
    */
   public static void createTbBtsStateChange_infTable(MysqlConnPool pool) {
      String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_BtsStateChange_inf + " (" +
                  "  `num` bigint(20) NOT NULL AUTO_INCREMENT," +
                  "  `dev_id` int(11) NOT NULL DEFAULT '1'," +
                  "  `record_time` datetime NOT NULL DEFAULT '2000-01-01 00:00:00'," +
                  "  `last_state` int(11) NOT NULL DEFAULT '0'," +
                  "  `now_state` int(11) NOT NULL DEFAULT '0'," +
                  "  `event_type` int(11) NOT NULL DEFAULT '0'," +
                  "  `note` varchar(255) NOT NULL DEFAULT ''," +
                  "  PRIMARY KEY (`num`),"
                  + "KEY `dev_id` (`dev_id`) USING BTREE" +
                  ") 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 BattGroupId
    */
   public static void CreateTb_BattRealDataTable(MysqlConnPool pool,int BattGroupId) {
      String  sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Batt_RealData+BattGroupId + " (" +
            "  `num` bigint(20) NOT NULL AUTO_INCREMENT," +
            "  `BattGroupId` int(11) NOT NULL DEFAULT '1'," +
            "  `recrod_time` datetime NOT NULL DEFAULT '2000-01-01 00:00:00'," +
            "  `group_vol` float NOT NULL DEFAULT '0'," +
            "  `online_vol` float NOT NULL DEFAULT '0'," +
            "  `group_curr` float NOT NULL DEFAULT '0'," +
            "  `group_tmp` float NOT NULL DEFAULT '0'," +
            "  `batt_state` int(11) NOT NULL DEFAULT '0'," +
            "  `batt_test_type` int(11) NOT NULL DEFAULT '0'," +
            "  `batt_test_starttime` datetime NOT NULL DEFAULT '2000-01-01 00:00:00'," +
            "  `batt_test_tlong` int(11) NOT NULL DEFAULT '0'," +
            "  `batt_test_cap` float NOT NULL DEFAULT '0'," +
            "  `mon_num` int(11) NOT NULL DEFAULT '1'," +
            "  `mon_vol` float NOT NULL DEFAULT '0'," +
            "  `mon_tmp` float NOT NULL DEFAULT '0'," +
            "  `mon_res` float NOT NULL DEFAULT '0'," +
            "  `mon_ser` float NOT NULL DEFAULT '0'," +
            "  `mon_conn_res` float NOT NULL DEFAULT '0'," +
            "  `mon_cap` float NOT NULL DEFAULT '0'," +
            "  `mon_JH_curr` float NOT NULL DEFAULT '0'," +
            "  `note` varchar(255) NOT NULL DEFAULT ''," +
            "  PRIMARY KEY (`num`),"
            + "KEY `index_battgroupid` (`BattGroupId`) USING BTREE" +
            ") 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 m_ConnPool
    * @param events
    */
   public static void insertBTSEventRecordTable(MysqlConnPool m_ConnPool, List<BTS61850_EventRecord> events) {
      String sql_str = "INSERT INTO " + Sql_Mysql.Tb_BtsStateChange_inf + "(dev_id,record_time,last_state,now_state,event_type) VALUES";
      if(events != null && events.size() > 0) {
         for(int i = 0 ; i < events.size() ; i++) {
            BTS61850_EventRecord event = events.get(i);
            if(i > 0) {
               sql_str += ",";
            }
            sql_str += "("
                  + event.dev_id + ","
                  +"'" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "',"
                  + event.last_state +","
                  + event.now_state +","
                  + event.event_type + ""
                  + ")";
         }
         Sql_Mysql sql = new Sql_Mysql(m_ConnPool.getConn());
         try {
            sql.sqlMysqlExecute(sql_str);
         } catch (SQLException e) {
            e.printStackTrace();
         } finally {
            sql.close_con();
         }
      }
   }
   public static void main(String[] args) {
      MysqlConnPool pool = new MysqlConnPool("127.0.0.1", 3360, 10);
      BTS61850_EventRecord event = new BTS61850_EventRecord(618500001, 1, 0, BTS61850_EventRecord.Event_CONNCET_Error_type);
      List<BTS61850_EventRecord> events = new ArrayList<BTS61850_EventRecord>();
      events.add(event);
      insertBTSEventRecordTable(pool, events);
      //CreateTb_BattRealDataTable(pool, 1000001);
   }
}