全功能逆变/假负载61850通信程序
iec61852_forQGN/src/com/battdata_rt/BattData_RT_SQL.java
@@ -1054,4 +1054,79 @@
      }
   }
   /************************************************************************************************/
   /************************************************************************************************/
   public static void updateBattAlarm_RT_RamDB_Table(MysqlConnPool conn_pool, BattData_RT bd_rt)
   {
      Sql_Mysql sql = new Sql_Mysql(conn_pool);
      try
      {
         String sql_str = "UPDATE " + Sql_Mysql.BattRtAlarm_Table
               + " SET "
               + " record_time='" + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms) + "'";
         boolean tmp_dt = false;
         String sql_str_vol = " ";
         for(int n=0; n<bd_rt.MonCount; n++) {
            tmp_dt = bd_rt.al_MonVol.get(n).monvol_alm;
            sql_str_vol += " WHEN " + (n+1) + " THEN " +  tmp_dt;
         }
         if(sql_str_vol.trim().length() > 1) {
            sql_str_vol = ", monvol_alm = CASE mon_num " + sql_str_vol + " ELSE monvol_alm END ";
         }
         String sql_str_tmp = " ";
         for(int n=0; n<bd_rt.MonCount; n++) {
            tmp_dt = bd_rt.al_MonVol.get(n).montmp_alm;
            sql_str_tmp += " WHEN " + (n+1) + " THEN " + tmp_dt;
         }
         if(sql_str_tmp.trim().length() > 1) {
            sql_str_tmp = ", montmp_alm = CASE mon_num " + sql_str_tmp + " ELSE montmp_alm END ";
         }
         String sql_str_res = " ";
         for(int n=0; n<bd_rt.MonCount; n++) {
            tmp_dt = bd_rt.al_MonVol.get(n).monres_alm;
            sql_str_res += " WHEN " + (n+1) + " THEN " +  tmp_dt;
         }
         if(sql_str_res.trim().length() > 1) {
            sql_str_res = ", monres_alm = CASE mon_num " + sql_str_res + " ELSE monres_alm END ";
         }
         String sql_str_cap = " ";
         for(int n=0; n<bd_rt.MonCount; n++) {
            tmp_dt = bd_rt.al_MonVol.get(n).monrestcap_alm;
            sql_str_cap += " WHEN " + (n+1) + " THEN " + tmp_dt;
         }
         if(sql_str_cap.trim().length() > 1) {
            sql_str_cap = ", monrestcap_alm = CASE mon_num " + sql_str_cap + " ELSE monrestcap_alm END ";
         }
         String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_cap ;
         if(sql_str_2.trim().length() > 1) {
            sql_str_2 += " WHERE BattGroupId=" + bd_rt.BattGroupId;
            /*
                    + " AND mon_num IN (";
            for(int n=0; n<brt.MonCount; n++) {
               if(n > 0) {
                  sql_str_2 += ",";
               }
               sql_str_2 += (n+1);
            }
            sql_str_2 += ")";
            */
         } else {
            sql_str_2 = " WHERE BattGroupId=" + bd_rt.BattGroupId;
         }
         sql_str += sql_str_2;
         //System.out.println(bd_rt.MonCount);
         //System.out.println(sql_str);
         sql.sqlMysqlExecute(sql_str);
      } catch (SQLException e) {
         // TODO Auto-generated catch block
         sql.logger.error("updateBattAlarm_RT_RamDB_Table():" + e.toString(), e);
      } finally {
         sql.close_con();
      }
   }
   /************************************************************************************************/
}