lxw
2020-06-22 cdfe729167b59a9c52f8684089a31b3fa2c90239
添加四个61850设备的核容终止原因
1个文件已修改
540 ■■■■ 已修改文件
zijing/src/com/fgkj/dao/BattTestData.java 540 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/src/com/fgkj/dao/BattTestData.java
@@ -1,268 +1,272 @@
package com.fgkj.dao;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
public class BattTestData {
    final public static int BATT_MON_COUNT_MAX = 512;
    final public static int AppServer_Reinit_BattGroupData_EN=1;//修改删除添加电池组信息时识别信号
    final public static byte BATTDATA_NULL = 0;
    final public static byte BATTDATA_FLOAT = 1;
    final public static byte BATTDATA_CHARGE = 2;
    final public static byte BATTDATA_DISCHARGE = 3;
    final public static byte BATTDATA_JUNCHARGE = 4;
    final public static byte BATTDATA_RES = 5;
    final public static byte BATTDATA_SER = 6;
    final public static byte BATTDATA_TMP = 7;
    final public static byte BATTDATA_CONNRES = 8;
    final public static byte BATTDATA_MONITOR = 9;
    final public static byte BATTSTATE_NULL = 0;
    final public static byte BATTSTATE_FLOAT = 1;
    final public static byte BATTSTATE_CHARGE = 2;
    final public static byte BATTSTATE_DISCHARGE = 3;
    final public static byte BATTSTATE_JUNCHARGE = 4;
    final public static byte TEST_LOADER_REALLOADER = 1;
    final public static byte TEST_LOADER_FBI_IDCE = 2;
    final public static byte TEST_LOADER_FBS9100S =3;
    public static final byte MonData_CapVol = 0;
    public static final byte MonData_RealCap = 1;
    public static final byte MonData_RestCap = 2;
    public static final byte MonData_CapPercent = 3;
    public static final byte MonData_Vol = 4;
    public static final byte MonData_Res = 5;
    public static final byte MonData_Ser = 6;
    public static final byte MonData_Tmp = 7;
    public static final byte MonData_ConnRes = 8;
    public static final byte MonData_SerPercent = 9;
    public static final String CM="_CM";//移动
    public static final String CT="_CT";//电信
    public static final String CU="_CU";//联通
    public static final String  test_type0 ="无";//无
    public static final String  test_type1 ="浮充";
    public static final String    test_type2 ="充电";
    public static final String    test_type3 ="放电";
    public static final String  test_type4 ="均充";
    public static final String  test_type5 ="电导/内阻";
    public static final String  test_type6 ="电导";
    public static final String  test_type7 ="温度";
    public static final String  test_type8 ="连接条";
    public static final String  test_type9 ="在线监测";
    //放电计划状态的对应关系
    public static final int  test_plan0 = 0;//未放电
    public static final int  test_plan1 = 1;//放电延时
    public static final int  test_plan2 = 2;//放电完成
    public static final int  test_plan3 = 3;//放电进行中
    public static final int  test_plan4 = 4;//放电失败
    public static final int  hoursBetween = 72;//俩次放电计划相隔时间
    public static final int RC_NUM_PARAM=1000;//最多一千笔
    //电池放电测试弹出框中显示排行前几个内阻数据
    public static final int mon_res_num=10;
    //启动创建数据库的jar文件
    public static void run_cmdOld() {
        String path=System.getProperty("user.dir");
        String realapth=path.substring(0,path.lastIndexOf("\\"));
        //System.out.println(realapth);
        String strcmd="cmd /c start  "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        //
        Runtime rt = Runtime.getRuntime(); //Runtime.getRuntime()返回当前应用程序的Runtime对象
        Process ps = null;  //Process可以控制该子进程的执行或获取该子进程的信息。
        try {
            ps = rt.exec(strcmd);   //该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。
            ps.waitFor();  //等待子进程完成再往下执行。
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        int i = ps.exitValue();  //接收执行完毕的返回值
        if (i == 0) {
            System.out.println("执行完成.");
        } else {
            System.out.println("执行失败.");
        }
        ps.destroy();  //销毁子进程
        ps = null;
    }
    //启动创建数据库的jar文件
    public static void run_cmd() {
        String path=System.getProperty("user.dir");                //myeclipse中获取的目录(获取到的是tomcat/bin)和分离项目获取到的路径(tomcat)不一样
        //System.out.println(path);
        String realapth=path.substring(0,path.lastIndexOf("\\"));
        String strcmd="cmd /c start  "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        String batPath = realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        File f = new File(path);
        //System.out.println("File :"+f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd");
        //batPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd";
        String jarPath = "";
        if(path.endsWith("bin")){
            f = f.getParentFile();
        }
        jarPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"BTSE_DB_Builder.exe";                //主程序中jar的目录
        //strcmd = "cmd /c start "+batPath;
        strcmd = ("cmd /c start ")+jarPath.replaceAll(" ", "\" \"");            //修复绝对路径中存在空格时执行不成功bug
        Process child = null;
        InputStream in = null;
        try {
            //System.out.println(strcmd);
            child = Runtime.getRuntime().exec(strcmd);
            in = child.getInputStream();
            int c;
            while ((c = in.read()) != -1) {
                //System.out.print((char)c);
            }
            in.close();
            try {
                child.waitFor();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //System.out.println("Run Bat OK....");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //落后单体参数(组端电压>标称*test_stop)
    public static final float test_stop = 0.9f;
    //判断电池组的当前状态
    public static String battState(int num){
        String state="";
        switch (num) {
        case 0:state= BattTestData.test_type0;break;
        case 1:state= BattTestData.test_type1;break;
        case 2:state= BattTestData.test_type2;break;
        case 3:state= BattTestData.test_type3;break;
        case 4:state= BattTestData.test_type4;break;
        case 5:state= BattTestData.test_type5;break;
        case 6:state= BattTestData.test_type6;break;
        case 7:state= BattTestData.test_type7;break;
        case 8:state= BattTestData.test_type8;break;
        case 9:state= BattTestData.test_type9;break;
        }
        return state;
    }
    //bts放电终止原因
    public static String getStopType(int dev_type, int stop_type_t)
    {
        String stop_type = "未知";
        if(BattTestData.TEST_LOADER_FBI_IDCE == dev_type) {
            switch(stop_type_t)
                {
                     case 0 : stop_type = "手动停止"; break;
                     case 1 : stop_type = "放电时间到"; break;
                     case 2 : stop_type = "放电容量到"; break;
                     case 3 : stop_type = "单体下限到"; break;
                     case 4 : stop_type = "组端下限到"; break;
                     case 5 : stop_type = "市电中断"; break;
                     case 6 : stop_type = "内存不足"; break;
                     case 7 : stop_type = "温度异常"; break;
                }
        } else if(BattTestData.TEST_LOADER_FBS9100S == dev_type){
            switch(stop_type_t)
                {
                     case 0 : stop_type = "手动停止"; break;
                     case 1 : stop_type = "暂停"; break;
                     case 2 : stop_type = "正在放电测试"; break;
                     case 3 : stop_type = "正在等待放电"; break;
                     case 4 : stop_type = "正在限流充电"; break;
                     case 5 : stop_type = "正在直连充电"; break;
                     case 6 : stop_type = "正在等待充电"; break;
                     case 7 : stop_type = "放电时间到"; break;
                     case 8 : stop_type = "放电容量到"; break;
                     case 9 : stop_type = "单体下限到"; break;
                     case 10 : stop_type = "组端下限到"; break;
                     case 11 : stop_type = "市电中断停止"; break;
                     case 12 : stop_type = "存储数据满"; break;
                     case 13 : stop_type = "机内温度异常"; break;
                     case 14 : stop_type = "放电电流过流"; break;
                     case 15 : stop_type = "后台通信中断"; break;
                     case 16 : stop_type = "负载模块中断"; break;
                     case 17 : stop_type = "在线模块中断"; break;
                     case 18 : stop_type = "负载模块过功率"; break;
                     case 19 : stop_type = "内部程序异常"; break;
                }
        } else {
            stop_type = "手动停止";
        }
        return stop_type;
    }
    //61850放电终止原因
    public static String getStopType_6185(int stop_type_t)
    {
        String stop_type = "其他";
        switch(stop_type_t)
                {
                     case 0 : stop_type = "设备掉电终止"; break;
                     case 1 : stop_type = "手动终止"; break;
                     case 2 : stop_type = "放电时间到终止"; break;
                     case 3 : stop_type = "放电容量到终止"; break;
                     case 4 : stop_type = "单体电压下限到终止"; break;
                     case 5 : stop_type = "单体温度上限到终止"; break;
                     case 6 : stop_type = "组端电压下限到终止"; break;
                     case 7 : stop_type = "市电中断终止"; break;
                     case 8 : stop_type = "单体模块通讯异常终止"; break;
                     case 9 : stop_type = "存储数据满终止"; break;
                     case 10 : stop_type = "机内温度异常终止"; break;
                     case 11 : stop_type = "放电电流异常终止"; break;
                     case 12 : stop_type = "后台通讯中断终止"; break;
                     case 13 : stop_type = "内部程序异常终止"; break;
                     case 14 : stop_type = "电源电压高终止"; break;
                     case 15 : stop_type = "协转通讯异常"; break;
                     case 16 : stop_type = "其他"; break;
                }
        return stop_type;
    }
    //4016放电终止原因
    public static String getStopType_4016(int stop_type_t)
    {
        String stop_type = "其他";
        switch(stop_type_t)
            {
                 case 0 : stop_type = "无"; break;
                 case 1 : stop_type = "手动终止"; break;
                 case 2 : stop_type = "核容测试时间到"; break;
                 case 3 : stop_type = "核容测试组端下限到"; break;
                 case 4 : stop_type = "核容测试单体下限到"; break;
                 case 5 : stop_type = "核容测试容量低于阀值"; break;
                 case 6 : stop_type = "应急供电组端下限到"; break;
                 case 7 : stop_type = "应急供电单体下限到"; break;
                 case 8 : stop_type = "市电恢复停止应急供电"; break;
                 case 9 : stop_type = "停止自动应急供电"; break;
                 case 10 : stop_type = "无法启动核容测试"; break;
                 case 11 : stop_type = "模块故障"; break;
                 case 12 : stop_type = "电池开路故障"; break;
                 case 16 : stop_type = "其他"; break;
            }
        return stop_type;
    }
    //设备状态变换对应关系
    public static String getFbsdev_Statechange(int state){
        String state_name="停止";
        switch(state){
              case 0:state_name="停止";break;
              case 1:state_name="放电";break;
              case 2:state_name="充电";break;
           }
        return state_name;
    }
}
package com.fgkj.dao;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
public class BattTestData {
    final public static int BATT_MON_COUNT_MAX = 512;
    final public static int AppServer_Reinit_BattGroupData_EN=1;//修改删除添加电池组信息时识别信号
    final public static byte BATTDATA_NULL = 0;
    final public static byte BATTDATA_FLOAT = 1;
    final public static byte BATTDATA_CHARGE = 2;
    final public static byte BATTDATA_DISCHARGE = 3;
    final public static byte BATTDATA_JUNCHARGE = 4;
    final public static byte BATTDATA_RES = 5;
    final public static byte BATTDATA_SER = 6;
    final public static byte BATTDATA_TMP = 7;
    final public static byte BATTDATA_CONNRES = 8;
    final public static byte BATTDATA_MONITOR = 9;
    final public static byte BATTSTATE_NULL = 0;
    final public static byte BATTSTATE_FLOAT = 1;
    final public static byte BATTSTATE_CHARGE = 2;
    final public static byte BATTSTATE_DISCHARGE = 3;
    final public static byte BATTSTATE_JUNCHARGE = 4;
    final public static byte TEST_LOADER_REALLOADER = 1;
    final public static byte TEST_LOADER_FBI_IDCE = 2;
    final public static byte TEST_LOADER_FBS9100S =3;
    public static final byte MonData_CapVol = 0;
    public static final byte MonData_RealCap = 1;
    public static final byte MonData_RestCap = 2;
    public static final byte MonData_CapPercent = 3;
    public static final byte MonData_Vol = 4;
    public static final byte MonData_Res = 5;
    public static final byte MonData_Ser = 6;
    public static final byte MonData_Tmp = 7;
    public static final byte MonData_ConnRes = 8;
    public static final byte MonData_SerPercent = 9;
    public static final String CM="_CM";//移动
    public static final String CT="_CT";//电信
    public static final String CU="_CU";//联通
    public static final String  test_type0 ="无";//无
    public static final String  test_type1 ="浮充";
    public static final String    test_type2 ="充电";
    public static final String    test_type3 ="放电";
    public static final String  test_type4 ="均充";
    public static final String  test_type5 ="电导/内阻";
    public static final String  test_type6 ="电导";
    public static final String  test_type7 ="温度";
    public static final String  test_type8 ="连接条";
    public static final String  test_type9 ="在线监测";
    //放电计划状态的对应关系
    public static final int  test_plan0 = 0;//未放电
    public static final int  test_plan1 = 1;//放电延时
    public static final int  test_plan2 = 2;//放电完成
    public static final int  test_plan3 = 3;//放电进行中
    public static final int  test_plan4 = 4;//放电失败
    public static final int  hoursBetween = 72;//俩次放电计划相隔时间
    public static final int RC_NUM_PARAM=1000;//最多一千笔
    //电池放电测试弹出框中显示排行前几个内阻数据
    public static final int mon_res_num=10;
    //启动创建数据库的jar文件
    public static void run_cmdOld() {
        String path=System.getProperty("user.dir");
        String realapth=path.substring(0,path.lastIndexOf("\\"));
        //System.out.println(realapth);
        String strcmd="cmd /c start  "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        //
        Runtime rt = Runtime.getRuntime(); //Runtime.getRuntime()返回当前应用程序的Runtime对象
        Process ps = null;  //Process可以控制该子进程的执行或获取该子进程的信息。
        try {
            ps = rt.exec(strcmd);   //该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。
            ps.waitFor();  //等待子进程完成再往下执行。
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        int i = ps.exitValue();  //接收执行完毕的返回值
        if (i == 0) {
            System.out.println("执行完成.");
        } else {
            System.out.println("执行失败.");
        }
        ps.destroy();  //销毁子进程
        ps = null;
    }
    //启动创建数据库的jar文件
    public static void run_cmd() {
        String path=System.getProperty("user.dir");                //myeclipse中获取的目录(获取到的是tomcat/bin)和分离项目获取到的路径(tomcat)不一样
        //System.out.println(path);
        String realapth=path.substring(0,path.lastIndexOf("\\"));
        String strcmd="cmd /c start  "+realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        String batPath = realapth+"/webapps/cmd_BTSE_DB_Builder.cmd";
        File f = new File(path);
        //System.out.println("File :"+f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd");
        //batPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"cmd_BTSE_DB_Builder.cmd";
        String jarPath = "";
        if(path.endsWith("bin")){
            f = f.getParentFile();
        }
        jarPath = f.getParentFile().getAbsolutePath()+File.separator+"Batt_MS_FBSDEV_X64/Batt_MS_FBSDEV/"+"BTSE_DB_Builder.exe";                //主程序中jar的目录
        //strcmd = "cmd /c start "+batPath;
        strcmd = ("cmd /c start ")+jarPath.replaceAll(" ", "\" \"");            //修复绝对路径中存在空格时执行不成功bug
        Process child = null;
        InputStream in = null;
        try {
            //System.out.println(strcmd);
            child = Runtime.getRuntime().exec(strcmd);
            in = child.getInputStream();
            int c;
            while ((c = in.read()) != -1) {
                //System.out.print((char)c);
            }
            in.close();
            try {
                child.waitFor();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //System.out.println("Run Bat OK....");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //落后单体参数(组端电压>标称*test_stop)
    public static final float test_stop = 0.9f;
    //判断电池组的当前状态
    public static String battState(int num){
        String state="";
        switch (num) {
        case 0:state= BattTestData.test_type0;break;
        case 1:state= BattTestData.test_type1;break;
        case 2:state= BattTestData.test_type2;break;
        case 3:state= BattTestData.test_type3;break;
        case 4:state= BattTestData.test_type4;break;
        case 5:state= BattTestData.test_type5;break;
        case 6:state= BattTestData.test_type6;break;
        case 7:state= BattTestData.test_type7;break;
        case 8:state= BattTestData.test_type8;break;
        case 9:state= BattTestData.test_type9;break;
        }
        return state;
    }
    //bts放电终止原因
    public static String getStopType(int dev_type, int stop_type_t)
    {
        String stop_type = "未知";
        if(BattTestData.TEST_LOADER_FBI_IDCE == dev_type) {
            switch(stop_type_t)
                {
                     case 0 : stop_type = "手动停止"; break;
                     case 1 : stop_type = "放电时间到"; break;
                     case 2 : stop_type = "放电容量到"; break;
                     case 3 : stop_type = "单体下限到"; break;
                     case 4 : stop_type = "组端下限到"; break;
                     case 5 : stop_type = "市电中断"; break;
                     case 6 : stop_type = "内存不足"; break;
                     case 7 : stop_type = "温度异常"; break;
                }
        } else if(BattTestData.TEST_LOADER_FBS9100S == dev_type){
            switch(stop_type_t)
                {
                     case 0 : stop_type = "手动停止"; break;
                     case 1 : stop_type = "暂停"; break;
                     case 2 : stop_type = "正在放电测试"; break;
                     case 3 : stop_type = "正在等待放电"; break;
                     case 4 : stop_type = "正在限流充电"; break;
                     case 5 : stop_type = "正在直连充电"; break;
                     case 6 : stop_type = "正在等待充电"; break;
                     case 7 : stop_type = "放电时间到"; break;
                     case 8 : stop_type = "放电容量到"; break;
                     case 9 : stop_type = "单体下限到"; break;
                     case 10 : stop_type = "组端下限到"; break;
                     case 11 : stop_type = "市电中断停止"; break;
                     case 12 : stop_type = "存储数据满"; break;
                     case 13 : stop_type = "机内温度异常"; break;
                     case 14 : stop_type = "放电电流过流"; break;
                     case 15 : stop_type = "后台通信中断"; break;
                     case 16 : stop_type = "负载模块中断"; break;
                     case 17 : stop_type = "在线模块中断"; break;
                     case 18 : stop_type = "负载模块过功率"; break;
                     case 19 : stop_type = "内部程序异常"; break;
                }
        } else {
            stop_type = "手动停止";
        }
        return stop_type;
    }
    //61850放电终止原因
    public static String getStopType_6185(int stop_type_t)
    {
        String stop_type = "其他";
        switch(stop_type_t)
                {
                     case 0 : stop_type = "设备掉电终止"; break;
                     case 1 : stop_type = "手动终止"; break;
                     case 2 : stop_type = "放电时间到终止"; break;
                     case 3 : stop_type = "放电容量到终止"; break;
                     case 4 : stop_type = "单体电压下限到终止"; break;
                     case 5 : stop_type = "单体温度上限到终止"; break;
                     case 6 : stop_type = "组端电压下限到终止"; break;
                     case 7 : stop_type = "市电中断终止"; break;
                     case 8 : stop_type = "单体模块通讯异常终止"; break;
                     case 9 : stop_type = "存储数据满终止"; break;
                     case 10 : stop_type = "机内温度异常终止"; break;
                     case 11 : stop_type = "放电电流异常终止"; break;
                     case 12 : stop_type = "后台通讯中断终止"; break;
                     case 13 : stop_type = "内部程序异常终止"; break;
                     case 14 : stop_type = "电源电压高终止"; break;
                     case 15 : stop_type = "协转通讯异常"; break;
                     case 16 : stop_type = "其他"; break;
                     case 27 : stop_type = "其他设备在工作"; break;
                     case 28 : stop_type = "其他设备故障停止"; break;
                     case 29 : stop_type = "电压过高或过低"; break;
                     case 30 : stop_type = "干接点故障"; break;
                }
        return stop_type;
    }
    //4016放电终止原因
    public static String getStopType_4016(int stop_type_t)
    {
        String stop_type = "其他";
        switch(stop_type_t)
            {
                 case 0 : stop_type = "无"; break;
                 case 1 : stop_type = "手动终止"; break;
                 case 2 : stop_type = "核容测试时间到"; break;
                 case 3 : stop_type = "核容测试组端下限到"; break;
                 case 4 : stop_type = "核容测试单体下限到"; break;
                 case 5 : stop_type = "核容测试容量低于阀值"; break;
                 case 6 : stop_type = "应急供电组端下限到"; break;
                 case 7 : stop_type = "应急供电单体下限到"; break;
                 case 8 : stop_type = "市电恢复停止应急供电"; break;
                 case 9 : stop_type = "停止自动应急供电"; break;
                 case 10 : stop_type = "无法启动核容测试"; break;
                 case 11 : stop_type = "模块故障"; break;
                 case 12 : stop_type = "电池开路故障"; break;
                 case 16 : stop_type = "其他"; break;
            }
        return stop_type;
    }
    //设备状态变换对应关系
    public static String getFbsdev_Statechange(int state){
        String state_name="停止";
        switch(state){
              case 0:state_name="停止";break;
              case 1:state_name="放电";break;
              case 2:state_name="充电";break;
           }
        return state_name;
    }
}