天天看點

EAS 如果界面打開,跳轉到該界面,如果界面未打開,則建立該界面并添加到窗體的KDTabbedPane 控件中

/**
	 * 選卡面闆
	 * @return
	 */
	private KDTabbedPane getKDTabbedPane() {
		tabbedPane = (KDTabbedPane)this.getParent();
		return tabbedPane;
	}
           
/**
	 * 擷取應收庫存界面
	 * @return
	 */
	private ReceivableInventoryListUI getReceivableInventoryListUI(){
		KDTabbedPane tabbedPane = getKDTabbedPane();
		Component[] comps = tabbedPane.getComponents();
		for(int i = 0;i<comps.length;i++){
			if(comps[i] instanceof ReceivableInventoryListUI){
				return (ReceivableInventoryListUI)comps[i];
			}
		}
		return null;
	}
           
@Override
	public void actionQueryPayInv_actionPerformed(ActionEvent e) throws Exception {
		super.actionQueryPayInv_actionPerformed(e);

		DefaultKingdeeTreeNode node = (DefaultKingdeeTreeNode)kDTree.getLastSelectedPathComponent();
		if(node == null || !(node.getUserObject() instanceof TreeBaseCommonInfo)){
			throw new EASBizException(new NumericExceptionSubItem("000","請選擇會員"));
		}
		TreeBaseCommonInfo tInfo = (TreeBaseCommonInfo) node.getUserObject();
		String id = tInfo.getId().toString();
		IMember iMember = getIMember();
		String oql = "where id = '"+id+"'";
		if(!iMember.exists(oql)){
			throw new EASBizException(new NumericExceptionSubItem("000","此會員不存在!"));
		}
		MemberInfo memberInfo = iMember.getMemberInfo(oql);
		UIContext uiContext = new UIContext(this);
		uiContext.put("memberInfo", memberInfo);
		uiContext.put("source", RecOrPayAbleReportUI.class.getName());
		-------------------------------------------------------------------------------------------------
		PayableInventoryListUI payableInventoryListUI = getPayableInventoryListUI();
		if(payableInventoryListUI!=null){
			payableInventoryListUI.queryForRecOrPayRequest(memberInfo);
			tabbedPane.setSelectedComponent(payableInventoryListUI);
		}else{
			try {
				IUIFactory uiFactory = UIFactory.createUIFactory(UIFactoryName.NEWTAB); 
				payInvWindow = uiFactory.create(PayableInventoryListUI.class.getName(), uiContext, null, OprtState.VIEW);
			} catch (UIException e1) {
				e1.printStackTrace();
				handUIException(e1);
			}
			if(payInvWindow != null){
				payInvWindow.show();
			}
		}
	}-----------------------------------------------------------------------------------------------------------------