package com.vci.client.oq.ui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTextField; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.HighlighterFactory; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTInfo; import com.vci.client.LogonApplication; import com.vci.client.common.oq.OQTool; import com.vci.client.common.providers.ServiceProvider; import com.vci.client.omd.linktype.LinkTypeTree; import com.vci.client.omd.linktype.LinkTypeWrapper; import com.vci.client.oq.QTClient; import com.vci.client.oq.QTDClient; import com.vci.client.oq.wrapper.QTWrapper_; import com.vci.client.ui.swing.VCIOptionPane; import com.vci.client.ui.table.CheckBoxEditor; import com.vci.client.ui.table.CheckBoxRenderer; import com.vci.client.ui.util.PostorderEnumeration; import com.vci.common.qt.object.OrderInfo; import com.vci.common.qt.object.QTConstants; import com.vci.common.qt.object.QueryTemplate; import com.vci.corba.common.VCIError; public class QTPanelForLink2 extends JPanel{ /** * */ private static final long serialVersionUID = -5604511526824134217L; private static QTPanelForLink2 qtPanelForLink = null; /** * add by caill * 添加定位框和定位按钮,并添加left 和leftTopPanel容器 * */ private JTextField textField=new JTextField(20); private JButton sel=new JButton("定位"); private JPanel left=new JPanel(); private JPanel leftTopPanel=new JPanel(); private JPanel northPanel; private JButton btnSave, btnDelete; private JSplitPane centerPanel; private JPanel cp_treePanel, cp_mainPanel; private static LinkTypeTree linkTypeTree; private JPanel cpm_southPanel; private ConditionPanelForLink cpm_centerPanel; private JXTable qtTable; private TableModelWithCheckBox tableModel; private final int TABLE_HEADER_HEIGHT = 25; private final int ROW_HEIGHT = 30; private JScrollPane scrollPane; private LinkType selectedLinkType = null; private JPanel cpm_northPanel; private JComboBox combRelaType, combVersion; private JRadioButton rdPositive, rdOpposite; private ButtonGroup directionGroup; private JTextField tfLevel; private JComboBox orderInfoComb; private JButton orderSetBtn; private List tempOrderInfoList = null; private JCheckBox isLeafQueryCheck; private JButton btnExp; private JButton btnImp; private static final String All_TYPE = "所有类型"; private static final String[] tableHeader = {"", "查询方案", "创建人", "创建时间"}; private QTPanelForLink2(){ initUI(); updateCombRelaType(); updateCombVersion(); addListener(); initQTTable(); initOrderInfoComb(null); } public static QTPanelForLink2 getInstance(){ if(qtPanelForLink == null){ qtPanelForLink = new QTPanelForLink2(); } linkTypeTree.initOrUpdate(); qtPanelForLink.updateUI(); return qtPanelForLink; } private void initUI(){ this.setBackground(Color.WHITE); this.setLayout(new BorderLayout(0, 0)); northPanel = new JPanel(); this.add(northPanel, BorderLayout.NORTH); cp_treePanel = new JPanel(); cp_mainPanel = new JPanel(); //add by caill //为链接类型树添加公用定位框和定位按钮,并添加left和leftTopPanel容器 //搜索框的设置 GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.weightx = 0.7; gbc.weighty = 0; gbc.fill = GridBagConstraints.HORIZONTAL; leftTopPanel.setLayout(new GridBagLayout()); leftTopPanel.add(textField,gbc); leftTopPanel.add(sel); left.setLayout(new BorderLayout()); left.add(leftTopPanel,BorderLayout.NORTH); left.add(new JScrollPane(cp_treePanel),BorderLayout.CENTER); centerPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, cp_mainPanel); //add by caill end //centerPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JScrollPane(cp_treePanel), cp_mainPanel); centerPanel.setDividerLocation(Toolkit.getDefaultToolkit().getScreenSize().width/5); centerPanel.setOneTouchExpandable(true); this.add(centerPanel, BorderLayout.CENTER); //add by caill start //为定位按钮增添点击事件 sel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //e.getSource(); String test = textField.getText().trim(); DefaultTreeModel model = (DefaultTreeModel)linkTypeTree.getModel(); //model.reload(); TreeNode root = (TreeNode) model.getRoot(); PostorderEnumeration enumeration = new PostorderEnumeration( root); while (enumeration.hasMoreElements()) { DefaultMutableTreeNode element = (DefaultMutableTreeNode) enumeration .nextElement(); if (element.getUserObject() instanceof LinkTypeWrapper) { LinkTypeWrapper wrapper = (LinkTypeWrapper) element .getUserObject(); if (wrapper != null && wrapper.linkType!=null && wrapper.linkType.name.equals(test)) { TreeNode[] path = element.getPath(); TreePath treePath = new TreePath(path); linkTypeTree.setSelectionPath(treePath); return; } ; } } if (test.equals("")) { JOptionPane.showMessageDialog( com.vci.client.LogonApplication.frame, "请输入链接类型", "提示", JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog( com.vci.client.LogonApplication.frame, "{ " + test + " }链接类型不存在", "提示", JOptionPane.INFORMATION_MESSAGE); } } }); //为定位框增加键盘事件 textField.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JTextField text = (JTextField) e.getSource(); String test = text.getText().trim(); DefaultTreeModel model = (DefaultTreeModel)linkTypeTree.getModel(); //model.reload(); TreeNode root = (TreeNode) model.getRoot(); PostorderEnumeration enumeration = new PostorderEnumeration( root); while (enumeration.hasMoreElements()) { DefaultMutableTreeNode element = (DefaultMutableTreeNode) enumeration .nextElement(); if (element.getUserObject() instanceof LinkTypeWrapper) { LinkTypeWrapper wrapper = (LinkTypeWrapper) element .getUserObject(); if (wrapper != null && wrapper.linkType!=null && wrapper.linkType.name.equals(test)) { TreeNode[] path = element.getPath(); TreePath treePath = new TreePath(path); linkTypeTree.setSelectionPath(treePath); return; } ; } } if (test.equals("")) { JOptionPane.showMessageDialog( com.vci.client.LogonApplication.frame, "请输入链接类型", "提示", JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog( com.vci.client.LogonApplication.frame, "{ " + test + " }链接类型不存在", "提示", JOptionPane.INFORMATION_MESSAGE); } } }); //add by caill end btnSave = new JButton("保存"); btnDelete = new JButton("删除"); btnExp = new JButton("导出"); btnImp = new JButton("导入"); northPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); northPanel.add(btnSave); northPanel.add(btnDelete); northPanel.add(btnExp); northPanel.add(btnImp); //设置cp_treePanel cp_treePanel.setLayout(new GridBagLayout()); GridBagConstraints g = new GridBagConstraints(); g.gridx = 0; g.gridy = 0; g.weightx = 1.0; g.weighty = 1.0; g.fill = GridBagConstraints.BOTH; linkTypeTree = new LinkTypeTree(); cp_treePanel.add(linkTypeTree, g); cp_mainPanel.setLayout(new BorderLayout()); cpm_northPanel = new JPanel(); cpm_northPanel.setBorder(BorderFactory.createTitledBorder("基本设置")); cpm_northPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); cp_mainPanel.add(new JScrollPane(cpm_northPanel), BorderLayout.NORTH); rdPositive = new JRadioButton("正向"); rdOpposite = new JRadioButton("反向"); rdPositive.setSelected(true); directionGroup = new ButtonGroup(); directionGroup.add(rdPositive); directionGroup.add(rdOpposite); cpm_northPanel.add(new JLabel("方向:")); cpm_northPanel.add(rdPositive); cpm_northPanel.add(rdOpposite); cpm_northPanel.add(new JLabel(" ")); cpm_northPanel.add(new JLabel("业务类型:")); combRelaType = new JComboBox(); combRelaType.addItem("所有类型"); combRelaType.addItem("btma"); combRelaType.addItem("btmb"); combRelaType.setPreferredSize(new Dimension(100, 25)); cpm_northPanel.add(combRelaType); cpm_northPanel.add(new JLabel(" ")); cpm_northPanel.add(new JLabel("版本版次:")); combVersion = new JComboBox(); cpm_northPanel.add(combVersion); isLeafQueryCheck = new JCheckBox("查询是否有下级"); cpm_northPanel.add(new JLabel(" ")); cpm_northPanel.add(isLeafQueryCheck); cpm_northPanel.add(new JLabel(" ")); cpm_northPanel.add(new JLabel("子节点层次数:")); tfLevel = new JTextField(5); cpm_northPanel.add(tfLevel); cpm_northPanel.add(new JLabel("已有排序")); orderInfoComb = new JComboBox(); orderInfoComb.setPreferredSize(new Dimension(200, 25)); cpm_northPanel.add(orderInfoComb); orderSetBtn = new JButton("设置排序"); cpm_northPanel.add(orderSetBtn); cpm_southPanel = new JPanel(); String ltName = null; if(selectedLinkType != null){ ltName = selectedLinkType.name; } cpm_centerPanel = new ConditionPanelForLink(ltName, getSelectedBtm(), getDirection()); //TODO NORTH <----> CENTER JSplitPane splitP = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cpm_centerPanel, cpm_southPanel); splitP.setDividerLocation(Toolkit.getDefaultToolkit().getScreenSize().height / 3); splitP.setOneTouchExpandable(true); cp_mainPanel.add(splitP, BorderLayout.CENTER); cpm_southPanel.setBorder(BorderFactory.createTitledBorder("查询模板列表")); cpm_southPanel.setAutoscrolls(true); cpm_southPanel.setLayout(new BorderLayout(5, 5)); scrollPane = new JScrollPane(); cpm_southPanel.add(scrollPane, BorderLayout.CENTER); tableModel = new TableModelWithCheckBox(tableHeader); qtTable = new JXTable(tableModel); TableColumn column = qtTable.getColumn(0); column.setCellEditor(new CheckBoxEditor(new JCheckBox())); column.setCellRenderer(new CheckBoxRenderer()); qtTable.setRowHeight(ROW_HEIGHT); qtTable.setHorizontalScrollEnabled(true); qtTable.setHighlighters(HighlighterFactory.createAlternateStriping()); //排序后,引起其他页面的数据不显示 qtTable.setSortable(true); //设置表头高度 JTableHeader tableHeader = qtTable.getTableHeader(); Dimension size = tableHeader.getPreferredSize(); size.height = TABLE_HEADER_HEIGHT; tableHeader.setPreferredSize(size); scrollPane.setViewportView(qtTable); } private void addListener(){ rdPositive.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { updateCombRelaType(); updateCombVersion(); } }); rdOpposite.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { updateCombRelaType(); updateCombVersion(); } }); linkTypeTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) linkTypeTree.getLastSelectedPathComponent(); if(selectedNode == null){ selectedLinkType = null; } if(selectedNode.getUserObject() instanceof LinkTypeWrapper){ selectedLinkType = ((LinkTypeWrapper)selectedNode.getUserObject()).linkType; }else{ selectedLinkType = null; } initQTTable(); updateCombRelaType(); initOrderInfoComb(null); } }); combRelaType.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if(combRelaType.getItemCount() > 0){ cpm_centerPanel.updateUI(selectedLinkType.name, getSelectedBtm(), getDirection()); } } }); //保存查询模板 btnSave.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(selectedLinkType == null){ JOptionPane.showMessageDialog(northPanel, "请选择业务类型和查询模板定义来创建查询模板", "请选择业务类型", JOptionPane.ERROR_MESSAGE); return; } //保存之前带出已选择的qtName QueryTemplate selectedQT = getSelectedQT(); String oldQtName = null; if(selectedQT != null){ oldQtName = selectedQT.getId(); } SaveQTDialog dialog = new SaveQTDialog(oldQtName); dialog.setVisible(true); if(dialog.getDisposeFlag() == 0){ return; } String qtName = dialog.getQTName(); if(isExists(qtName)){ int result = JOptionPane.showConfirmDialog(northPanel, "该查询模板名已经存在,是否覆盖?", "覆盖确认", JOptionPane.YES_NO_OPTION); if ( JOptionPane.YES_OPTION != result ) return; } QueryTemplate qt = cpm_centerPanel.getQT(); String checkInfo = OQTool.checkQT(qt); if(!checkInfo.equals("OK")){ JOptionPane.showMessageDialog(northPanel, checkInfo, checkInfo, JOptionPane.ERROR_MESSAGE); return; } qt.setId(qtName); //设置排序信息 qt.setOrderInfoList(tempOrderInfoList); boolean saveFlag = false; QTInfo qtWrapper = new QTInfo(); qtWrapper.qtName = qt.getId(); qtWrapper.btmName = qt.getLinkType(); qtWrapper.creator = LogonApplication.userObject.getUserName(); qtWrapper.createTime = System.currentTimeMillis(); Document doc = cpm_centerPanel.getSeniorTreeDoc(); if(doc == null){ qtWrapper.qtUIText = ""; }else{ qtWrapper.qtUIText = doc.asXML(); } qtWrapper.levelFlag = cpm_centerPanel.getRadioFlag(); //TODO qtWrapper.qtText = OQTool.qtTOXMl(qt).asXML(); try { saveFlag = ServiceProvider.getOMDService().getQTDService().saveQT(qtWrapper); } catch (VCIError e1) { // TODO Auto-generated catch block e1.printStackTrace(); } if(saveFlag){ JOptionPane.showMessageDialog(northPanel, "保存查询模板成功", "保存成功", JOptionPane.INFORMATION_MESSAGE); initQTTable(); }else{ JOptionPane.showMessageDialog(northPanel, "保存查询模板失败", "保存失败", JOptionPane.INFORMATION_MESSAGE); } } }); qtTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { updateQTInfo(); initOrderInfoComb(null); } }); btnExp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ExpLQTDialog dialog = new ExpLQTDialog(); dialog.setVisible(true); } }); btnImp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ImpQT imp = new ImpQT(); if(imp.impExcel()){ VCIOptionPane.showMessage(LogonApplication.frame, "导入成功"); } } }); btnDelete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int option = JOptionPane.showConfirmDialog(northPanel, "是否确定要删除查询模板", "确认删除", JOptionPane.YES_NO_OPTION); if(option != JOptionPane.YES_OPTION){ return; } boolean flag = deleteQTS(); if(flag){ JOptionPane.showMessageDialog(northPanel, "删除查询模板成功", "删除成功", JOptionPane.INFORMATION_MESSAGE); initQTTable(); }else{ JOptionPane.showMessageDialog(northPanel, "删除查询模板失败", "删除失败", JOptionPane.INFORMATION_MESSAGE); } } }); orderSetBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { QueryTemplate qt = getSelectedQT(); if(qt == null){ if(selectedLinkType == null){ JOptionPane.showMessageDialog(QTPanelForLink2.getInstance(), "请选定业务类型或查询模板设定排序", "未选中业务类型或查询模板", JOptionPane.WARNING_MESSAGE); return; } OrderSetDialog dialog = new OrderSetDialog(selectedLinkType, getSelectedBtm(), getDirection()); dialog.setVisible(true); initOrderInfoComb(dialog.getTempOrderInfoList()); }else{ OrderSetDialog dialog = new OrderSetDialog(qt); dialog.setVisible(true); initOrderInfoComb(qt.getOrderInfoList()); } } }); } private void initQTTable(){ qtTable.removeAll(); if(selectedLinkType != null){ QTInfo[] qtWrappers = null; try { qtWrappers = ServiceProvider.getOMDService().getQTDService().getObjTypeQTs(selectedLinkType.name); } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } if(qtWrappers == null){ return; } tableModel.setRowCount(qtWrappers.length); //重新设置table的Cell的可编辑性 tableModel.setInitFlag(false); for(int i = 0; i < qtWrappers.length; i++){ QTInfo qtWrapper = qtWrappers[i]; JCheckBox chBox = new JCheckBox(); qtTable.setValueAt(chBox, i, 0); qtTable.setValueAt(new QTWrapper_(qtWrapper), i, 1); qtTable.setValueAt(qtWrapper.creator, i, 2); qtTable.setValueAt(qtWrapper.createTime, i, 3); } tableModel.setInitFlag(true); updateQTInfo(); } qtTable.updateUI(); } /** * 检查查询模板名字是否可用 * @param name * @return */ private boolean isExists(String name){ boolean flag = true; try { flag = ServiceProvider.getOMDService().getQTDService().isExistsQT(name); } catch (VCIError e) { e.printStackTrace(); } return flag; } /** * 删除选择的查询模板 * @return */ private boolean deleteQTS(){ boolean flag = false; List list = new ArrayList(); int count = qtTable.getRowCount(); for(int i = 0; i < count; i++){ JCheckBox chb = (JCheckBox) qtTable.getValueAt(i, 0); if(chb.isSelected()){ QTInfo qtWrapper = ((QTWrapper_)qtTable.getValueAt(i, 1)).qtWrapper; list.add(qtWrapper.qtName); } } try { flag = ServiceProvider.getOMDService().getQTDService().deleteQTs(list.toArray(new String[0])); } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; } /** * 更新查询模板的信息 */ private void updateQTInfo(){ int row = qtTable.getSelectedRow(); if(row < 0){ return; } QTInfo qtWrapper = ((QTWrapper_) qtTable.getValueAt(row, 1)).qtWrapper; try { QueryTemplate qt = OQTool.getQTByDoc(DocumentHelper.parseText(qtWrapper.qtText), qtWrapper.qtName); setQTBasicUI(qt); } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } cpm_centerPanel.setQTUI(qtWrapper); } /** * 更新链接类型关联的业务类型下拉列表 */ private void updateCombRelaType(){ try{ combRelaType.removeAllItems(); if(selectedLinkType == null || selectedLinkType.equals("")){ return; } String[] btmNames = null; if(rdPositive.isSelected()){ btmNames = selectedLinkType.btmItemsTo; }else if(rdOpposite.isSelected()){ btmNames = selectedLinkType.btmItemsFrom; } if(btmNames == null || btmNames.length < 0){ return; } for(int i = 0; i < btmNames.length; i++){ combRelaType.addItem(btmNames[i]); } combRelaType.addItem(All_TYPE); }catch(Exception e){ e.printStackTrace(); } } /** * 更新版本版次的下拉列表 */ private void updateCombVersion(){ combVersion.removeAllItems(); // if(rdPositive.isSelected()){ combVersion.addItem("当前版本当前版次"); combVersion.addItem("当前版本最新版次"); combVersion.addItem("最新版本最新版次"); combVersion.addItem("已发布的最新版本"); // }else if(rdOpposite.isSelected()){ // combVersion.addItem("当前版次"); // combVersion.addItem("当前版本"); // combVersion.addItem("当前命名对象"); // } } /** * 从业务类型下拉列表获取选择的业务类型 * @return */ private String getSelectedBtm(){ String btmName = null; if(selectedLinkType == null){ return btmName; } Object obj = combRelaType.getSelectedItem(); if(obj == null){ return btmName; } if(obj.equals(All_TYPE)){ if(rdPositive.isSelected()){ btmName = selectedLinkType.primitivesTo; }else{ btmName = selectedLinkType.primitivesFrom; } }else{ btmName = (String) obj; } return btmName; } /** * 返回查询的方向 * @return */ public String getDirection(){ String direction = null; if(rdPositive.isSelected()){ direction = QTConstants.DIRECTION_POSITIVE; }else{ direction = QTConstants.DIRECTION_OPPOSITE; } return direction; } /** * 返回查询的版本 * @return */ public int getVersion(){ int version = 0; String v = (String) combVersion.getSelectedItem(); if(v.equals("当前版本当前版次")){ version = 1; }else if(v.equals("当前版本最新版次")){ version = 2; }else if(v.equals("最新版本最新版次")){ version = 3; }else if(v.equals("当前版次")){ version = 4; }else if(v.equals("当前版本")){ version = 5; }else if(v.equals("当前命名对象")){ version = 6; }else if(v.equals("已发布的最新版本")){ version = 7; } return version; } /** * 返回是否查询是否有下级 * @return */ public boolean isQueryIsLeaf(){ return isLeafQueryCheck.isSelected(); } /** * 返回查询的层次 * @return */ public int getLevel(){ String levelText = "1"; if(!tfLevel.getText().equals("")){ levelText = tfLevel.getText(); } return Integer.valueOf(levelText); } /** * 根据查询模板设置基本界面 * @param qt * @throws Throwable * @throws Exception */ public void setQTBasicUI(QueryTemplate qt){ String direction = qt.getDirection(); if(direction.equalsIgnoreCase(QTConstants.DIRECTION_POSITIVE)){ rdPositive.setSelected(true); }else if(direction.equalsIgnoreCase(QTConstants.DIRECTION_OPPOSITE)){ rdOpposite.setSelected(true); } if(qt.isQueryISLeaf()){ isLeafQueryCheck.setSelected(true); }else{ isLeafQueryCheck.setSelected(false); } tfLevel.setText(String.valueOf(qt.getLevel())); String btmType = qt.getBtmType(); try { if(btmType.equals("*")){ combRelaType.setSelectedItem(All_TYPE); }else{ int count = combRelaType.getItemCount(); for(int i = 0; i < count - 1; i++){ String btName = (String) combRelaType.getItemAt(i); if(btName.equals(btmType)){ combRelaType.setSelectedItem(btName); break; } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } int version = qt.getVersion(); if(version == 1){ combVersion.setSelectedItem("当前版本当前版次"); }else if(version == 2){ combVersion.setSelectedItem("当前版本最新版次"); }else if(version == 3){ combVersion.setSelectedItem("最新版本最新版次"); }else if(version == 4){ combVersion.setSelectedItem("当前版次"); }else if(version == 5){ combVersion.setSelectedItem("当前版本"); }else if(version == 6){ combVersion.setSelectedItem("当前命名对象"); }else if(version == 7){ combVersion.setSelectedItem("已发布的最新版本"); } cpm_northPanel.updateUI(); } /** * 业务类型是否为所有类型 * @return */ public boolean isAllType(){ Object obj = combRelaType.getSelectedItem(); if(obj != null && obj.equals(All_TYPE)){ return true; } return false; } /** * 展示排序信息 */ private void initOrderInfoComb(List orderInfoList) { orderInfoComb.removeAllItems(); if(orderInfoList == null){ QueryTemplate qt = getSelectedQT(); if(qt != null){ orderInfoList = qt.getOrderInfoList(); } } if(orderInfoList != null){ for(OrderInfo o : orderInfoList){ String orderMode = o.getOrderMode(); if(orderMode.equals(QTConstants.ORDERMODE_ASC)){ orderMode = "升序"; }else{ orderMode = "降序"; } String orderInfo = o.getOrderField() + ";" + orderMode + ";" + o.getLevel(); orderInfoComb.addItem(orderInfo); } } tempOrderInfoList = orderInfoList; orderInfoComb.updateUI(); } /** * 获取列表中选中的qt * @return * @throws DocumentException * @throws VCIError */ public QueryTemplate getSelectedQT(){ int row = qtTable.getSelectedRow(); if(row < 0){ return null; } QTInfo qtWrapper = ((QTWrapper_) qtTable.getValueAt(row, 1)).qtWrapper; try { return OQTool.getQTByDoc(DocumentHelper.parseText(qtWrapper.qtText), qtWrapper.qtName); } catch (VCIError e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } return null; } }