package com.vci.client.oq.ui.linkqtimport;
|
|
import java.awt.GridBagConstraints;
|
import java.awt.GridBagLayout;
|
import java.awt.Insets;
|
import java.io.File;
|
import java.io.PrintWriter;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Set;
|
import java.util.Map.Entry;
|
|
import javax.swing.JLabel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.table.DefaultTableModel;
|
|
import com.vci.client.LogonApplication;
|
import com.vci.client.common.providers.ServiceProvider;
|
import com.vci.client.oq.QTClient;
|
import com.vci.client.oq.QTDClient;
|
import com.vci.client.portal.UI.dialog.VCIGuideStepPanel;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
import com.vci.client.ui.swing.components.VCIJOptionPane;
|
import com.vci.corba.omd.qtm.QTD;
|
import com.vci.corba.omd.qtm.QTInfo;
|
|
/**
|
* Action导出第二步界面
|
*
|
* @Title :ExpActionStep2Panel.java
|
* @Description :
|
* @Copyright :宏博远达科技有限公司
|
* @Author :平台与规划部/ZhongGY/E-mail:zhonggy@vci-tech.com
|
* @Date :2015-6-5
|
* @Version :1
|
* @Other :产生注释:Alt+Shift+J
|
*/
|
public class LinkQTImpQTStep2Panel extends VCIGuideStepPanel {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 导出模型文件全路径显示
|
*/
|
private JLabel lblModelFileFullPath;
|
/**
|
* 导出日志清单列表
|
*/
|
private JScrollPane scrollPane = new JScrollPane();
|
/*private JTable tblExportLog;*/
|
/**
|
* 导出文件名
|
*/
|
private String logFileName = "...";
|
private LinkQTImportTree importTree = null;
|
|
public LinkQTImpQTStep2Panel() {
|
GridBagLayout gridBagLayout = new GridBagLayout();
|
gridBagLayout.columnWidths = new int[] { 0, 0, 0, 0, 0 };
|
gridBagLayout.rowHeights = new int[] { 25, 0, 0 };
|
gridBagLayout.columnWeights = new double[] { 0.0, 0.0, 1.0, 0.0,
|
Double.MIN_VALUE };
|
gridBagLayout.rowWeights = new double[] { 0.0, 1.0,
|
Double.MIN_VALUE };
|
setLayout(gridBagLayout);
|
|
JLabel label = new JLabel(" ");
|
GridBagConstraints gbc_label = new GridBagConstraints();
|
gbc_label.insets = new Insets(0, 0, 5, 5);
|
gbc_label.gridx = 0;
|
gbc_label.gridy = 0;
|
add(label, gbc_label);
|
|
JLabel label_1 = new JLabel("导入模型文件:");
|
GridBagConstraints gbc_label_1 = new GridBagConstraints();
|
gbc_label_1.insets = new Insets(0, 0, 5, 5);
|
gbc_label_1.gridx = 1;
|
gbc_label_1.gridy = 0;
|
add(label_1, gbc_label_1);
|
|
lblModelFileFullPath = new JLabel("...");
|
GridBagConstraints gbc_lblModelFileFullPath = new GridBagConstraints();
|
gbc_lblModelFileFullPath.anchor = GridBagConstraints.WEST;
|
gbc_lblModelFileFullPath.insets = new Insets(0, 0, 5, 5);
|
gbc_lblModelFileFullPath.gridx = 2;
|
gbc_lblModelFileFullPath.gridy = 0;
|
add(lblModelFileFullPath, gbc_lblModelFileFullPath);
|
|
JLabel label_2 = new JLabel(" ");
|
GridBagConstraints gbc_label_2 = new GridBagConstraints();
|
gbc_label_2.insets = new Insets(0, 0, 5, 0);
|
gbc_label_2.gridx = 3;
|
gbc_label_2.gridy = 0;
|
add(label_2, gbc_label_2);
|
|
|
GridBagConstraints gbc_scrollPane = new GridBagConstraints();
|
gbc_scrollPane.gridwidth = 2;
|
gbc_scrollPane.insets = new Insets(0, 0, 0, 5);
|
gbc_scrollPane.fill = GridBagConstraints.BOTH;
|
gbc_scrollPane.gridx = 1;
|
gbc_scrollPane.gridy = 1;
|
add(scrollPane, gbc_scrollPane);
|
|
table = new JTable();
|
table.setModel(new DefaultTableModel(
|
new Object[][] {
|
{null, null, null, null},
|
},
|
new String[] {
|
"\u5E8F\u53F7", "\u5BFC\u5165\u72B6\u6001", "\u67E5\u8BE2\u65B9\u6848\u540D\u79F0", "\u6240\u5C5E\u7C7B\u578B\u540D\u79F0"
|
}
|
) {
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
boolean[] columnEditables = new boolean[] {
|
false, false, false, false
|
};
|
public boolean isCellEditable(int row, int column) {
|
return columnEditables[column];
|
}
|
});
|
table.getColumnModel().getColumn(0).setResizable(false);
|
table.getColumnModel().getColumn(0).setPreferredWidth(35);
|
table.getColumnModel().getColumn(1).setPreferredWidth(85);
|
table.getColumnModel().getColumn(2).setPreferredWidth(158);
|
table.getColumnModel().getColumn(3).setPreferredWidth(173);
|
scrollPane.setViewportView(table);
|
|
/*tblExportLog = new JTable();*/
|
|
|
}
|
|
public LinkQTImpQTStep1Panel getPreStepUI() {
|
if (super.getPreStepUI() != null) {
|
return (LinkQTImpQTStep1Panel) super.getPreStepUI();
|
} else {
|
return null;
|
}
|
}
|
|
@Override
|
public void initUI() {
|
importTree = (LinkQTImportTree) getGuidCommonShareData().get("importTree");
|
String filePath = ((String) getGuidCommonShareData().get("filePath")).substring(0, ((String) getGuidCommonShareData().get("filePath")).lastIndexOf("\\"));
|
Long currentTimes = System.currentTimeMillis();
|
// logFileName= importTree.getExportLogFileName(filePath,currentTimes);
|
logFileName = importTree.getExportDataFileName(filePath,currentTimes);
|
lblModelFileFullPath.setText(logFileName);
|
// lblLogFileFullPath.setText(logFileName);
|
initData();
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public void initData() {
|
//1、两个文件路径(共享 )加载显示
|
|
//加载table数据
|
DefaultTableModel tblModel = (DefaultTableModel)table.getModel();
|
while(tblModel.getRowCount() > 0 ){
|
tblModel.removeRow(0);
|
}
|
PrintWriter logFileWriter = null;
|
try {
|
List<Object[]> selectedQTs = (List<Object[]>)this.getGuidCommonShareData().get("selectedQTs");
|
Map<String/*类型名称*/, QTD[]/*查询模板定义*/> norepQTDs = (Map<String, QTD[]>)this.getGuidCommonShareData().get("selectedQTDs");
|
Map<String/*查询模板名称*/, QTInfo/*查询模板对象*/> allQTs = (Map<String, QTInfo>) this.getGuidCommonShareData().get("importData");
|
Map<String/*类型名称*/, QTD[]/*查询模板定义*/> newNorepQTDs = getnewNorepQTDs(norepQTDs,allQTs);
|
Set<Entry<String, QTInfo>> pLQts = allQTs.entrySet();
|
Set<Entry<String, QTD[]>> pLActions = newNorepQTDs.entrySet();
|
System.out.println(allQTs);
|
File logFile = new File(logFileName);
|
logFileWriter = new PrintWriter(logFile);
|
for (int i = 0; i < selectedQTs.size(); i++) {
|
logFileWriter.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date())+" [序号=" + selectedQTs.get(i)[0] + ", 导出状态=" + selectedQTs.get(i)[1]
|
+ ", 查询方案名称=" + selectedQTs.get(i)[2] + ", 所属类型名称=" + selectedQTs.get(i)[3] + "]");
|
tblModel.addRow(selectedQTs.get(i));
|
}
|
//模板定义持久化
|
if(newNorepQTDs.size()!=0){
|
for (Entry<String, QTD[]> entry : pLActions) {
|
QTD[] qtds = entry.getValue();
|
for (QTD qtd : qtds) {
|
boolean success= ServiceProvider.getOMDService().getQTDService().addQTD(qtd);
|
if(!success){
|
VCIJOptionPane.showMessage(this, qtd.name+"导入失败!");
|
}
|
}
|
}
|
}
|
//查询模板持久化
|
if(allQTs.size()!=0){
|
for (Entry<String, QTInfo> entry : pLQts) {
|
QTInfo qtWrapper = entry.getValue();
|
boolean success = ServiceProvider.getOMDService().getQTDService().saveQT(qtWrapper);
|
if(!success){
|
VCIJOptionPane.showMessage(this, qtWrapper.qtName+"导入失败!");
|
}
|
}
|
}
|
} catch (Exception e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} finally {
|
try {
|
if (logFileWriter != null) {
|
logFileWriter.flush();
|
logFileWriter.close();
|
}
|
} catch (Exception e) {
|
VCIOptionPane.showMessage(LogonApplication.frame, "日志写出异常异常!");
|
e.printStackTrace();
|
|
}
|
}
|
|
|
}
|
|
//根据选择的查询模板过滤模板定义
|
private Map<String, QTD[]> getnewNorepQTDs(Map<String, QTD[]> norepQTDs,
|
Map<String, QTInfo> allQTs) {
|
// TODO Auto-generated method stub
|
Map<String, QTD[]> map = new HashMap<String, QTD[]>();
|
Set<Entry<String, QTInfo>> pLQts = allQTs.entrySet();
|
Set<Entry<String, QTD[]>> pLActions = norepQTDs.entrySet();
|
for (Entry<String, QTD[]> entrys : pLActions) {
|
for (Entry<String, QTInfo> entry : pLQts) {
|
if(entry.getValue().btmName.equals(entrys.getKey())){
|
map.put(entrys.getKey(), entrys.getValue());
|
}
|
}
|
}
|
return map;
|
}
|
|
@Override
|
public String getStepName() {
|
/* String secondStepName = null;
|
if((secondStepName = (String)this.getCommonMap().get("secondStepName") )!= null){
|
return secondStepName;
|
}*/
|
return "第二步:查询模板导入结果";
|
}
|
|
@Override
|
public boolean isPreBtnVisible() {
|
return true;
|
}
|
|
@Override
|
public String getPreBtnText() {
|
return "上一步";
|
}
|
|
@Override
|
public boolean doPreBtnAction() {
|
// TODO:上一步操作处理
|
VCIGuideStepPanel nextStepUI =getPreStepUI();
|
nextStepUI.initUI();
|
return true;
|
}
|
|
@Override
|
public boolean isNextBtnVisible() {
|
// 最后一步不显示“下一步”
|
return false;
|
}
|
|
@Override
|
public String getNextBtnText() {
|
return null;
|
}
|
|
@Override
|
public boolean doNextBtnAction() {
|
return true;
|
}
|
|
@Override
|
public boolean isCancelBtnVisible() {
|
return true;
|
}
|
|
@Override
|
public String getcancelBtnText() {
|
return "完成";
|
}
|
|
String dialogProcess = ""; // [第X步/共X步]
|
private JTable table;
|
|
public String getDialogProcess() {
|
dialogProcess = "[第2步/共2步]";
|
return dialogProcess;
|
}
|
}
|