whyclxw
2021-05-24 d6fd9d6ff45f9e941ae57b9389bb069336b2a96a
修改开关量板导出
2个文件已修改
85 ■■■■ 已修改文件
DyEnvir_system/src/com/fgkj/actions/CsvFileDownloadAction.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/partinsystem/udpall/impl/Partin_elemonitorImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/fgkj/actions/CsvFileDownloadAction.java
@@ -308,14 +308,35 @@
         String fileName = cs.getDev_name()+cs.getTable_name();
         //列名
         LinkedHashMap map = new LinkedHashMap();
         String[] state=cs.getStates().split(",");
        /* List<String> tabTh = new ArrayList<String>();
         for(int i=0;i<state.length;i++){
            tabTh.add(state[i]);
         }*/
         String stateString=cs.getStates();
         String switchString1="Q100,Q101,Q102,Q103,Q108,Q112,Q113,Q120"
                 + ",Q122,Q200,Q202,Q204,Q208,Q211,Q212,Q213"
                 + ",Q220,Q300,Q301,Q303,Q309,Q344,Q400,Q402"
                 + ",Q403,Q404,Q409,Q433,Q11,Q12,Q15,Q17";
         String switchString2="Q18,Q19,Q20,Q22,Q26,Q27,Q28,Q29"
                 + ",Q30,Q33,Q35,Q37,Q38,Q43,Q44,Q46"
                 + ",Q47,Q48,Q10,Q53,Q56,Q40,Q62,Q65";
         String switchString3="1#可靠配电板Q51,AC20的Q10,AC51的Q2,AC51的Q4,AC52的Q1,AC52的Q6,AC53的Q3"
                 + ",AC60的Q1,AR11的Q8,AR12的Q2,AR12的Q3,AR12的Q4,AR12的Q5,AR12的Q6,AR13的Q1,AR23的Q1"
                 + ",AR23的Q2,AR23的Q3,AR23的Q4,AR23的Q6";
         String switchString4="Q11,Q22,Q29,Q33,Q44,Q59,Q55,Q57,Q58,Q67,Q68,AR11的Q5,AR11的Q6,AR21的Q11,AR23的Q5";
         if(stateString.contains("开关量1")) {
             stateString=stateString.replaceAll("开关量1", switchString1);
         }
         if(stateString.contains("开关量2")) {
             stateString.replaceAll("开关量2", switchString1);
         }
         if(stateString.contains("开关量3")) {
             stateString.replaceAll("开关量3", switchString1);
         }
         if(stateString.contains("开关量4")) {
             stateString.replaceAll("开关量4", switchString1);
         }
         //System.out.println(stateString);
         String[] state=stateString.split(",");
         map.put(1, "时间(HH:MM:SS)");
         for(int i=0;i<state.length;i++){
            map.put(i+2, state[i]);
            map.put(i+2,state[i]);
         }
         //获取数据
         List exportData =new ArrayList();
@@ -447,7 +468,14 @@
    public void setJson(String json) {
        this.json = json;
    }
    public static void main(String[] args) {
        String myInput = "直流绝缘低报警,1号AC230不间断电源电压,2号交流主配电板电压,1号蓄电池充电与监测装置工作状态,3号大功率逆变电源输出电流,开关量1";
        String switchString1="Q100,Q101,Q102,Q103,Q108,Q112,Q113,Q120"
                 + ",Q122,Q200,Q202,Q204,Q208,Q211,Q212,Q213"
                 + ",Q220,Q300,Q301,Q303,Q309,Q344,Q400,Q402"
                 + ",Q403,Q404,Q409,Q433,Q11,Q12,Q15,Q17";
        String myout=myInput.replaceAll("开关量1",switchString1);
        System.out.println(myout);
    }
    
}
DyEnvir_system/src/com/partinsystem/udpall/impl/Partin_elemonitorImpl.java
@@ -4,6 +4,7 @@
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.swing.plaf.synth.SynthScrollPaneUI;
@@ -318,7 +319,37 @@
                        List row=new ArrayList();
                        row.add(ActionUtil.chageDateToString(rs.getTimestamp("record_time"), ActionUtil.time_yyyyMMddHHmmss).trim());
                        for (int i = 0; i < state.length; i++) {
                            row.add(rs.getFloat(state[i]));
                            String stateString=state[i];
                            if(stateString.contains("switching_value")) {
                                if(stateString.equals("switching_value_one")) {
                                    int switching_value_one=rs.getInt("switching_value_one");
                                    for (int j= 0; j < 32; j++) {
                                        int a=getBinaryByInt(j, switching_value_one);
                                        row.add(a);
                                    }
                                }
                                if(stateString.equals("switching_value_two")) {
                                    int switching_value_two=rs.getInt("switching_value_two");
                                    for (int j= 0; j < 24; j++) {
                                        row.add(getBinaryByInt(j, switching_value_two));
                                    }
                                }
                                if(stateString.equals("switching_value_three")) {
                                    int switching_value_three=rs.getInt("switching_value_three");
                                    for (int j= 0; j < 20; j++) {
                                        row.add(getBinaryByInt(j, switching_value_three));
                                    }
                                }
                                if(stateString.equals("switching_value_four")) {
                                    int switching_value_four=rs.getInt("switching_value_four");
                                    for (int j= 0; j < 15; j++) {
                                        row.add(getBinaryByInt(j, switching_value_four));
                                    }
                                }
                            }else{
                                row.add(rs.getFloat(state[i]));
                            }
                        }
                        list.add(row);
                    }
@@ -380,6 +411,11 @@
        //System.out.println(dateString);
        return dateString;
    }
    //整数转换为2进制后取每一位上面的值
    private static int getBinaryByInt(int position,int number){
        int Binary=number>>position&1;
        return Binary;
    }
    public static void main(String[] args) {
        Partin_elemonitorImpl pimpl=new Partin_elemonitorImpl();
        /*List<Partin_elemonitor> list=pimpl.searchAll();
@@ -391,7 +427,8 @@
        for (Partin_elemonitor p : list) {
            System.out.println(p);
        }*/
        changeDateFrom("tb_partin_elemonitor_2021_05_20");
        //changeDateFrom("tb_partin_elemonitor_2021_05_20");
        System.out.println(getBinaryByInt(8,256));
    }
}