DELL
2024-02-23 e70dfa4d8068d0ffba5bc88acedf71b3b353f60f
修复bug
5个文件已修改
72 ■■■■■ 已修改文件
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task_Thread.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task_Thread_SQL.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/iedscout/BTS_ScoutData_Array.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/iedscout/UpdateDataToMySQL_Task.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task.java
@@ -80,11 +80,11 @@
                    m_Association = m_ClientSap.associate(InetAddress.getByName(param.target_ip), param.target_port, null, null);
                    
                } catch (Exception e) {
                    logger.error("BTS_IEC61850_Client Unable to connect to device IP:" + param.target_ip);
                    logger.error(e.toString(), e);
                    m_App_IsConnect = false;
                    param.setFail_reasion(IEDScout_Param.FAILREASION_PARAMERROR);
                    param.setConn_st(IEDScout_Param.CONN_STATE_FAIL);
                    logger.info("BTS_IEC61850_Client Unable to connect to device IP:" + param.target_ip);
                    break;
                }            
                logger.info("Start Load ICD File '" + param.target_icd + "'");
@@ -92,6 +92,7 @@
                if(!file.exists()) {
                    param.setFail_reasion(IEDScout_Param.FAILREASION_FILENOTFOUND);
                    param.setConn_st(IEDScout_Param.CONN_STATE_FAIL);
                    logger.info("ICD File '" + param.target_icd + "' Not EXISTS ");
                    break;
                }
                
@@ -104,7 +105,7 @@
                    param.setFail_reasion(IEDScout_Param.FAILREASION_FILEERROR);
                    param.setConn_st(IEDScout_Param.CONN_STATE_FAIL);
                    
                    logger.error("Error Parsing ICD File: " + e1.getMessage());
                    logger.info("Error Parsing ICD File: " + e1.getMessage());
                    break;
                }
                logger.info("Successfully Read Model ");
@@ -131,7 +132,6 @@
                if(m_App_IsConnect) {
                    new Thread(mySQL_Task).start();
                    is_clear_data = true;
                    param.setConn_st(IEDScout_Param.CONN_STATE_SUCCESS);
                }
                BTS61850_IEDScout_Task_Thread_SQL.updateConnect_Inf_Table(pool, param);                    
                while(m_App_IsConnect) {
@@ -171,9 +171,12 @@
                                            }
                                            data.setNode_name(zh_name);
                                        }
                                        data.setNode_path(modelNode.toString1());
                                        data.setNode_value(getBasicDataAttributeData(modelNode));
                                        if(data.node_path.equals("ZJDYCPSS/btgGGIO1.AnIn1.mag.f")) {
                                            System.out.println(data.getNode_name()+getBasicDataAttributeData(modelNode));
                                        }
                                        BTS61850_IEDScout_Task_Thread_SQL.updateupdateIed_NodeState_Table(pool, data);
                                    }                                
                                }
                                param.addCommNum();
@@ -181,7 +184,7 @@
                        }else {
                            param.addErrorNum();
                        }
                        param.setConn_st(IEDScout_Param.CONN_STATE_SUCCESS);
                        BTS61850_IEDScout_Task_Thread_SQL.updateConnect_Inf_Table(pool, param);
                        
                        ds = null;                        
@@ -224,6 +227,10 @@
        }
    }
    
    public void setAppIsConnect(boolean state) {
        this.m_App_IsConnect = state;
    }
    
    public String readUnicodeStringNodeData(String reference, Fc fc) {
        FcModelNode fcModelNode = (FcModelNode)m_ServerModel.findModelNode(reference, fc);
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task_Thread.java
@@ -34,6 +34,8 @@
                    param.setFail_reasion(IEDScout_Param.FAILREASION_NULL);    
                    BTS61850_IEDScout_Task_Thread_SQL.updateConnect_Inf_Table(pool, param);     
                    
                    task.setAppIsConnect(true);
                    logger.printf(Level.INFO,"BTS61850_IEDScout_Task Start Connect IP:%s,Port:%d",param.target_ip,param.target_port);
                    task.connectIEDDevice();                    
                }            
iec61850_forFoShanAES_Model/src/com/iedscout/BTS61850_IEDScout_Task_Thread_SQL.java
@@ -94,7 +94,7 @@
                try {
                    res = sql.sqlMysqlQuery(sql_str_sel);
                    if(res.next()) {
                        sql.sqlMysqlExecute("UPDATE " + Sql_Mysql.Ied_NodeState_Table + " SET node_value = '" + value.node_value + "',node_name = '" + value.node_name + "' WHERE node_path = '" + value.node_path + "';");
                        //sql.sqlMysqlExecute("UPDATE " + Sql_Mysql.Ied_NodeState_Table + " SET node_value = '" + value.node_value + "',node_name = '" + value.node_name + "' WHERE node_path = '" + value.node_path + "';");
                    }else {
                        sql.sqlMysqlExecute("INSERT INTO " + Sql_Mysql.Ied_NodeState_Table + "(node_path,node_name,node_value) VALUES('" + value.node_path + "','" + value.node_name + "','" + value.node_value + "');");
                    }
@@ -165,6 +165,19 @@
        }
    }
    
    public static void updateupdateIed_NodeState_Table(MysqlConnPool pool,ScoutData data) {
        StringBuffer sql_str = new StringBuffer(" UPDATE " + Sql_Mysql.Ied_NodeState_Table + " SET node_value = " + data.node_value + ",node_name = '"+ data.node_name +"' where node_path = '"+ data.node_path +"';");
        Sql_Mysql sql = new Sql_Mysql(pool);
        try {
            //System.out.println(sql_str.toString());
            sql.sqlMysqlExecute(sql_str.toString());
        } catch (SQLException e) {
            sql.logger.error("BTS61850_IEDScout_Task_Thread_SQL.updateupdateIed_NodeState_Table():" + e.toString(), e);
        } finally {
            sql.close_con();
        }
    }
    /**
     *     清空'db_ied_scout.tb_ied_nodestate'表中的所有数据
     * @param pool
iec61850_forFoShanAES_Model/src/com/iedscout/BTS_ScoutData_Array.java
@@ -24,7 +24,7 @@
        }
        return null;
    }
    
    public int getDataCount() {
        return m_ScoutData.size();
iec61850_forFoShanAES_Model/src/com/iedscout/UpdateDataToMySQL_Task.java
@@ -34,29 +34,25 @@
    @Override
    public void run() {
        logger.info("UpdateDataToMySQL_Task Start at " + Com.get_DTF(new Date(), Com.DTF_YMDhms));
        for(int n =0;n<1000;n++) {
            try {
                Thread.sleep(20);
            } catch (InterruptedException e) {
                logger.error("UpdateDataToMySQL_Task" + e.toString(), e);
            }
        }
        m_app_UpdateAlive = true;
        BTS61850_IEDScout_Task_Thread_SQL.clearIed_NodeState_Table(pool);
        while(m_app_UpdateAlive) {
            try {
                if(m_app_UpdateAlive) {
                    BTS61850_IEDScout_Task_Thread_SQL.clearIed_NodeState_Table(pool);
                    BTS61850_IEDScout_Task_Thread_SQL.inseartIed_NodeState_Table(pool, scoutData_Array);
                    m_app_UpdateAlive = false;
                }
//                if(m_app_UpdateAlive) {
//                    //清空数据库表
//
//                    BTS61850_IEDScout_Task_Thread_SQL.inseartIed_NodeState_Table(pool, scoutData_Array);
//
//                    m_app_UpdateAlive = false;
//                }
                
                //System.err.println("UpdateDataToMySQL_Task : scoutData_Array.Count():" + scoutData_Array.getDataCount());
                BTS61850_IEDScout_Task_Thread_SQL.updateIed_NodeState_Table(pool, scoutData_Array);
                Thread.sleep(3000);
                System.err.println("UpdateDataToMySQL_Task : scoutData_Array.Count():" + scoutData_Array.getDataCount());
                //BTS61850_IEDScout_Task_Thread_SQL.updateIed_NodeState_Table(pool, scoutData_Array);
                BTS61850_IEDScout_Task_Thread_SQL.inseartIed_NodeState_Table(pool, scoutData_Array);
                Thread.sleep(2000);
            } catch (Exception e) {
                logger.error("UpdateDataToMySQL_Task" + e.toString(), e);
            }