package com.vci.client.framework.specialrole; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.border.EmptyBorder; import javax.swing.event.TreeExpansionEvent; import javax.swing.event.TreeExpansionListener; import javax.swing.tree.TreePath; import com.vci.client.LogonApplication; import com.vci.client.common.objects.DeptObject; import com.vci.client.common.objects.UserObject; import com.vci.client.framework.delegate.RightManagementClientDelegate; import com.vci.client.framework.systemConfig.stafforgmanage.DeptInfoTreeTableCellRender; import com.vci.client.framework.systemConfig.stafforgmanage.PLDeptInfoDataTreeModel; import com.vci.client.logon.base.BaseJDialog; import com.vci.client.ui.exception.VCIException; import com.vci.client.ui.locale.LocaleDisplay; import com.vci.client.ui.swing.VCIOptionPane; import com.vci.client.ui.treeTable.InterfaceTreeTableModel; import com.vci.client.ui.treeTable.JTreeTable; import com.vci.client.ui.treeTable.TreeTableModel; /** *
Title: DeptingDialog
*Description:为人员分配部门
*Copyright: Copyright (c) 2012
*Company: VCI
* @author wangxl * @time 2012-5-13 * @version 1.0 */ public class DeptingTreeDialog extends BaseJDialog{ private static final long serialVersionUID = 1L; private JButton conformBut = new JButton(LocaleDisplay.getI18nString("rmip.stafforg.operate.conform", "RMIPFramework", getLocale())); private JButton cancelBut = new JButton(LocaleDisplay.getI18nString("rmip.stafforg.operate.cancel", "RMIPFramework", getLocale())); private UserTablePanel userPanel; private ListDescription:获取子部门
* * @author wangxl * @time 2012-5-14 * @param parentTableNode */ private void loadSelectedTreeNodeChild(TreeTableModel.TreeTableNode parentTableNode){ try{ if(parentTableNode.getObj() instanceof DeptObject){ DeptObject parentObj = (DeptObject)parentTableNode.getObj(); DeptObject[] childStructDatas = null ; if (parentObj.getId() == null ){ parentTableNode.removeAll(); childStructDatas = new RightManagementClientDelegate(LogonApplication.getUserEntityObject()).fetchDepartmentInfoRoot(); }else { childStructDatas = new RightManagementClientDelegate(LogonApplication.getUserEntityObject()).fetchDepartmentInfoByParentId(parentObj.getId()); } parentTableNode.setExpand(true); if (childStructDatas != null){ for (int i = 0 ; i < childStructDatas.length ; i ++){ TreeTableModel.TreeTableNode tableNode = treeTableModel.new TreeTableNode(parentTableNode, childStructDatas[i]); parentTableNode.addChild(tableNode); setPropertyValue(tableNode); } } // 设置选择节点 // this.treeTable.repaint(); this.treeTable.getTree().setSelectionPath(new TreePath(parentTableNode)); } } catch (VCIException e) { VCIOptionPane.showError(LogonApplication.frame, "RMIPFramework", e); return; } } /** *Description:单元格属性填充
* * @author wangxl * @time 2012-5-14 * @param tableNode */ private void setPropertyValue(TreeTableModel.TreeTableNode tableNode){ DeptObject deptObj = (DeptObject)tableNode.getObj(); tableNode.setPropertyValueByName(columns[1], deptObj.getNum() == null ? "" : deptObj.getNum()); tableNode.setPropertyValueByName(columns[2], deptObj.getCode() == null ? "" : deptObj.getCode()); tableNode.setPropertyValueByName(columns[3], deptObj.getDescription() == null ? "" : deptObj.getDescription()); } /** *Description: 获取顶级部门
* * @author wangxl * @time 2012-5-14 * @param rootNode * @param rootDeptObj */ private void loadTreeTableData(TreeTableModel.TreeTableNode rootNode, DeptObject rootDeptObj){ DeptObject[] deptObjs = null; try { deptObjs = new RightManagementClientDelegate(LogonApplication.getUserEntityObject()).fetchDepartmentInfoRoot(); if (deptObjs.length > 0){ for (int i = 0 ; i < deptObjs.length ; i ++){ TreeTableModel.TreeTableNode tableNode = treeTableModel.new TreeTableNode(rootNode, deptObjs[i]); rootNode.addChild(tableNode); setPropertyValue(tableNode); } } }catch(VCIException e) { VCIOptionPane.showError(LogonApplication.frame, "RMIPFramework",e); return; } } private void addButton_actionPerformed() { if("1".equals(type)) { if (null == this.treeTable.getTree().getSelectionPaths()){ deptObj = new DeptObject(); return; } if( this.treeTable.getTree().getSelectionPaths().length > 1) { deptObj = new DeptObject(); VCIOptionPane.showMessage(this, "系统当前只支持单个部门的查询,请重新选择!"); return; } TreePath path = this.treeTable.getTree().getSelectionPaths()[0]; TreeTableModel.TreeTableNode treeNode = (TreeTableModel.TreeTableNode)path.getLastPathComponent(); deptObj =(DeptObject)treeNode.getObj(); }else if("2".equals(type)){//业务系统调用此dialog if (null == this.treeTable.getTree().getSelectionPaths()){ deptObj = new DeptObject(); return; } int len = this.treeTable.getTree().getSelectionPaths().length; for(int i = 0;i