ludc
2025-01-16 986aa62ed00bee39363bab41b4eeb8259d446efd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package com.vci.client.oq.ui;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
 
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 
import com.vci.client.LogonApplication;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.client.oq.QTDClient;
import com.vci.corba.omd.qtm.QTD;
 
public class ImpQTD {
 
    public ImpQTD() {
    }
    public boolean impExcel(){
        JFileChooser jf = new JFileChooser();
        jf.setDialogTitle("打开");
        jf.removeChoosableFileFilter(jf.getFileFilter());
        jf.setFileFilter(new FileFilter() {
            public String getDescription() {
                return "xls";
            }
            public boolean accept(File f) {
                return ((f.isDirectory()) || (f.getName().endsWith(".xls")));
            }
        });
        int showOpenDialog = jf.showOpenDialog(LogonApplication.frame);
        if(showOpenDialog == JFileChooser.APPROVE_OPTION){
            File selectedFile = jf.getSelectedFile();
            String fileName = selectedFile.getAbsolutePath();
            if(!fileName.endsWith(".xls")){
                fileName = fileName + ".xls";
            }
            FileInputStream fin = null;
            try {
                List<QTD> qtds = new ArrayList<QTD>();
                fin = new FileInputStream(fileName);
                HSSFWorkbook workbook = new HSSFWorkbook(fin);
                HSSFSheet sheet = workbook.getSheetAt(0);
                HSSFRow titleRow = sheet.getRow(0);
                for(int i = 1; i<=sheet.getLastRowNum(); i++){
                    HSSFRow row = sheet.getRow(i);
                    QTD qtd = this.parse2QTD(row, titleRow);
                    if(qtd != null){
                        qtds.add(qtd);
                    }
                }
                System.out.println(qtds.size());
                for(QTD qtd: qtds){
                    boolean isExist = ServiceProvider.getOMDService().getQTDService().isExistsQTD(qtd.name);
                    if(!isExist){
                        boolean isSuc = ServiceProvider.getOMDService().getQTDService().addQTD(qtd);
                    }
                }
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                if(fin != null){
                    try{
                        fin.close();
                    }catch(Exception e){
                    }
                }
            }
        }
        return false;
    }
    private QTD parse2QTD(HSSFRow row, HSSFRow titleRow) {
        QTD qtd = null;
        for(int i=0; i< titleRow.getLastCellNum(); i++){
            String title = titleRow.getCell(i).getStringCellValue();
            String value = row.getCell(i).getStringCellValue();
            if(value == null || value.trim().length() == 0){
                continue;
            }
            if(qtd == null){
                qtd = new QTD();
            }
            if(title.equals("模板定义名称")){
                qtd.name = value.trim();
            }else if(title.equals("业务类型")){
                qtd.btmName = value.trim();
            }else if(title.equals("链接类型")){
                qtd.linkTypeName = value.trim();
            }else if(title.equals("模板可用字段")){
                qtd.abNames = value.trim().split(",");
            }else if(title.equals("创建人")){
                qtd.creator = value.trim();
            }else if(title.equals("创建时间")){
                qtd.createTime = Long.valueOf(value.trim());
            }
        }
        return qtd;
    }
}