DELL
2024-04-19 cfe3b8044b61ced5772914bfbbdc629fbedf4bd5
程序新增单体剩余容量数据读取
17个文件已修改
187 ■■■■■ 已修改文件
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT$InsertDataToMysql_Task.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_SQL.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/battdata_rt/MonVolData.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS61850_Task_Thread_SQL.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_VCData.class
Binary files differ
iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/Sql_Mysql.class
Binary files differ
iec61850_forFoShanAES_Model/bin/config.xml
@@ -2,7 +2,7 @@
<root>
  <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en>
  <mysql_server_ip>192.168.10.79</mysql_server_ip>
  <mysql_server_ip>127.0.0.1</mysql_server_ip>
  <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0-->
  <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1-->
  <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2-->
iec61850_forFoShanAES_Model/config.xml
@@ -2,7 +2,7 @@
<root>
  <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en>
  <mysql_server_ip>192.168.10.79</mysql_server_ip>
  <mysql_server_ip>127.0.0.1</mysql_server_ip>
  <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0-->
  <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1-->
  <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2-->
iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT.java
@@ -109,6 +109,10 @@
        BattData_RT_SQL.updateBattData_RT_RamDB_Table(m_Conn_Pool, this);
    }
    /*********************************************************************************/
    public void updata_BattRtAlARM_To_RamDb() {
        BattData_RT_SQL.updateBattAlarm_RT_RamDB_Table(m_Conn_Pool, this);
    }
    /*********************************************************************************/
    public BattData_RT updata_SetIp() {
        return BattData_RT_SQL.selectRT_BttInf_Table(m_Conn_Pool, this);
    }
iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_SQL.java
@@ -257,8 +257,19 @@
            if(sql_str_JH.trim().length() > 1) {
                sql_str_JH = ", mon_JH_curr = CASE mon_num " + sql_str_JH + " ELSE mon_JH_curr END ";
            }
            String sql_str_rest_cap = " ";
            for(int n=0; n<bd_rt.MonCount; n++) {
                tmp_dt = bd_rt.al_MonVol.get(n).mon_rest_cap;
                //if(bd_rt.al_MonVol_RtOld.get(n).mon_rest_cap != tmp_dt) {
                bd_rt.al_MonVol_RtOld.get(n).mon_rest_cap = tmp_dt;
                sql_str_rest_cap += " WHEN " + (n+1) + " THEN " + String.format("%1.1f", tmp_dt);
                //}
            }
            if(sql_str_rest_cap.trim().length() > 1) {
                sql_str_rest_cap = ", mon_rest_cap = CASE mon_num " + sql_str_rest_cap + " ELSE mon_rest_cap END ";
            }
            
            String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_ser + sql_str_JH;
            String sql_str_2 = sql_str_vol + sql_str_tmp + sql_str_res + sql_str_ser + sql_str_JH + sql_str_rest_cap;
            if(sql_str_2.trim().length() > 1) {
                sql_str_2 += " WHERE BattGroupId=" + bd_rt.BattGroupId;
                /*
@@ -1054,4 +1065,78 @@
        }
    }
    /************************************************************************************************/
    /************************************************************************************************/
    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();
        }
    }
}
iec61850_forFoShanAES_Model/src/com/battdata_rt/MonVolData.java
@@ -12,7 +12,14 @@
    public float monRes = 0;
    public float monSer = 0;
    public float connRes = 0;
    public float mon_JH_curr = 0;
    public float mon_JH_curr = 0;                //均衡电流
    public float mon_LY_vol = 0;                //漏液电压
    public float mon_rest_cap = 0;                //剩余容量
    public boolean monvol_alm;                    //单体电压告警
    public boolean monres_alm;                    //单体内阻告警
    public boolean montmp_alm;                    //单体温度告警
    public boolean monrestcap_alm;                //单体剩余容量告警
    //--------------------------------//
    public MonVolData()
    {
@@ -44,6 +51,13 @@
        vdata.monRes = monRes;
        vdata.connRes = connRes;
        vdata.mon_JH_curr = mon_JH_curr;
        vdata.mon_LY_vol = mon_LY_vol;                    //漏液电压
        vdata.mon_rest_cap = mon_rest_cap;                //单体剩余容量
        vdata.monvol_alm = monvol_alm;                    //单体电压告警
        vdata.monres_alm = monres_alm;                    //单体内阻告警
        vdata.montmp_alm = montmp_alm;                    //单体温度告警
        vdata.monrestcap_alm = monrestcap_alm;            //单体剩余容量告警
        return vdata;
    }
}
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS61850_Task_Thread_SQL.java
@@ -4,6 +4,7 @@
import java.sql.SQLException;
import java.util.Date;
import com.base.Com;
import com.battdata_rt.BattData_RT;
public class BTS61850_Task_Thread_SQL {
@@ -133,4 +134,28 @@
            sql.close_con();
        }
    }
    public static void updateBattRtState_Table(MysqlConnPool pool,FBS9100_VCData vc_data,BattData_RT[] battdata) {
        for(int i=0;i<battdata.length;i++) {
            if(null == battdata[i]) {
                continue;
            }
            String sql_str = " UPDATE " + Sql_Mysql.BattRsAlarm_Table + ""
                    + " SET record_time = '"+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)+"'"
                    + ",groupvol_alm = " + vc_data.groupvolalm[i]
                    + ",test_end_cap=" + vc_data.test_end_cap[i]
                    + ",test_end_vol=" + vc_data.test_end_vol[i]
                    + ",test_timelong= " + vc_data.test_timelong[i] +
                    " WHERE BattGroupId = " + battdata[i].BattGroupId;
            Sql_Mysql sql = new Sql_Mysql(pool);
            try {
                sql.sqlMysqlExecute(sql_str);
            } catch (SQLException e) {
                sql.logger.error("BTS61850_Task_Thread_SQL.updateBattRtState_Table():" + e.toString(), e);
            } finally {
                sql.close_con();
            }
        }
    }
}
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -992,7 +992,12 @@
                                else if ((n >= (m + 24 * 2)) && (n < (m + 24 * 3))) {
                                    m_FBS_VCData.tmp[n - (m + 24 * 2)] = ((BdaFloat32) fc_mode).getFloat();
                                }
                                //跳过剩余剩余容量
                                else if ((n >= (m + 24 * 3)) && (n < (m + 24 * 4))) {
                                    m_FBS_VCData.mon_rest_cap[n - (m + 24 * 3)] = ((BdaFloat32) fc_mode).getFloat();
                                }
                                else if ((n >= (m + 24 * 4)) && (n < (m + 24 * 5))) {
                                    m_FBS_VCData.mon_JH[n - (m + 24 * 4)] = ((BdaFloat32) fc_mode).getFloat();
                                }
@@ -2130,6 +2135,7 @@
                        m_RTData[n].al_MonVol.get(index).monRes = (float) vc_data.res[mon_index];
                        m_RTData[n].al_MonVol.get(index).monTmp = (float) vc_data.tmp[mon_index];
                        m_RTData[n].al_MonVol.get(index).mon_JH_curr = (float) vc_data.mon_JH[mon_index];
                        m_RTData[n].al_MonVol.get(index).mon_rest_cap = (float) vc_data.mon_rest_cap[mon_index];
                        mon_index++;
                    }
@@ -2251,7 +2257,36 @@
        
        System.out.println(createSignature(btsid, keyid));
    }
    /**
     *     更新电池组数据
     *
     * @param vc_data
     */
    private void getFBS9100MonAlmData(FBS9100_VCData vc_data) {
        {
            int mon_index = 0;
            for (int n = 0; n < FBS9100_ComBase.BattGroupCountMax; n++) {
                if (null != m_RTData[n]) {
                    for (int index = 0; index < m_RTData[n].MonCount; index++) {
                        if (mon_index >= FBS9100_ComBase.MonomerCountMax) {
                            break;
                        }
                        m_RTData[n].al_MonVol.get(index).monvol_alm =  vc_data.monvol_alm[mon_index];
                        m_RTData[n].al_MonVol.get(index).monres_alm =  vc_data.monres_alm[mon_index];
                        m_RTData[n].al_MonVol.get(index).montmp_alm =  vc_data.montmp_alm[mon_index];
                        m_RTData[n].al_MonVol.get(index).monrestcap_alm = vc_data.moncap_alm[mon_index];
                        mon_index++;
                    }
                    m_RTData[n].updata_BattRtAlARM_To_RamDb();
                    BTS61850_Task_Thread_SQL.updateBattRtState_Table(m_ConnPool,vc_data,m_RTData);
                    // ---------------------------------------------------------------------------//
                }
            }
        }
    }
    /*********************************************************************************************/
}
/*********************************
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_VCData.java
@@ -39,7 +39,18 @@
    public double res[] = new double[FBS9100_ComBase.MonomerCountMax];
    public double tmp[] = new double[FBS9100_ComBase.MonomerCountMax];
    public double mon_JH[] = new double[FBS9100_ComBase.MonomerCountMax];
    public double mon_LY[] = new double[FBS9100_ComBase.MonomerCountMax];
    public double mon_rest_cap[] = new double[FBS9100_ComBase.MonomerCountMax];
    
    public boolean[] groupvolalm = new boolean[FBS9100_ComBase.BattGroupCountMax];        //组端电压告警
    public double[] test_end_vol = new double[FBS9100_ComBase.BattGroupCountMax];        //测试终止电压
    public double[] test_end_cap = new double[FBS9100_ComBase.BattGroupCountMax];        //测试终止容量
    public double[] test_timelong = new double[FBS9100_ComBase.BattGroupCountMax];        //测试终止时间
    public boolean[] monvol_alm = new boolean[FBS9100_ComBase.MonomerCountMax];            //单体电压告警
    public boolean[] monres_alm = new boolean[FBS9100_ComBase.MonomerCountMax];            //单体内阻告警
    public boolean[] montmp_alm = new boolean[FBS9100_ComBase.MonomerCountMax];            //单体温度告警
    public boolean[] moncap_alm = new boolean[FBS9100_ComBase.MonomerCountMax];            //单体容量告警
    public FBS9100_VCData clone()
    {
        FBS9100_VCData obj = new FBS9100_VCData();  
iec61850_forFoShanAES_Model/src/com/dec/fbs9100/Sql_Mysql.java
@@ -55,6 +55,9 @@
    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 BattRtAlarm_Table = DB_RamDB + ".`tb_batt_rtalarm`";
    public final static String BattRsAlarm_Table = DB_RamDB + ".`tb_batt_rsalarm`";
    public final static String CInterfaceState_Table = DB_RamDB + ".`tb_cinterface_state`";
    
    public final static String HardDevSmsState_Table = DB_RamDB + ".`tb_hard_dev_sms_state`";