BOS中工作流BOTP调用方法
下面是一段代码,主要是BOTP调用方法的使用,希望读者能看明白。
public void actionCreateTo_actionPerformed(ActionEvent e) throws Exception { setCanVoucher(false); checkSelected(); ArrayList idList = new ArrayList(); List entriesKey = new ArrayList(); getBillIdList(idList, entriesKey); String[] idArray = new String[idList.size()]; idList.toArray(idArray); if (this.isDAPTrans) { entriesKey.clear(); } this.billList.createTo(idArray, new String[] { getEntriesName() }, entriesKey, getBizType().toString(), getBOTPSelectors()); }
public void getBillIdList(List idList, List entriesList) { int mode = 0; List blockList = this.tblMain.getSelectManager().getBlocks(); if ((blockList != null) && (blockList.size() == 1)) { mode = ((IBlock)this.tblMain.getSelectManager().getBlocks().get(0)).getMode(); } if (mode == 8) { List selectIdList = getQueryPkList(); if (selectIdList != null) { Iterator lt = selectIdList.iterator(); while (lt.hasNext()) { Object[] idObj = (Object[])lt.next(); if (idObj == null) continue; if (!(idList.contains(idObj[0].toString()))) { idList.add(idObj[0].toString()); } if ((idObj.length == 2) && (idObj[1] != null)) entriesList.add(idObj[1]); } } } else { ArrayList blocks = this.tblMain.getSelectManager().getBlocks(); Iterator iter = blocks.iterator(); while (iter.hasNext()) { KDTSelectBlock block = (KDTSelectBlock)iter.next(); int top = block.getTop(); int bottom = block.getBottom(); for (int rowIndex = top; rowIndex <= bottom; ++rowIndex) { ICell cell = this.tblMain.getRow(rowIndex).getCell(getKeyFieldName()); if ((this.tblMain.getRow(rowIndex).getCell(getEntriesPKName()) != null) && (this.tblMain.getRow(rowIndex).getCell(getEntriesPKName()).getValue() != null)) { entriesList.add(this.tblMain.getRow(rowIndex).getCell(getEntriesPKName()).getValue().toString()); } if (!(idList.contains(cell.getValue()))) idList.add(cell.getValue()); } } } }
public void createTo(String[] idList, String[] entryNames, List entriesKey, String srcBillType, SelectorItemCollection botpSelectors) throws Exception { if ((idList == null) || (idList.length == 0)) { MsgBox.showWarning(this.billListUI, EASResource.getString("com.kingdee.eas.framework.FrameWorkResource.Msg_NoneSelect_Bill")); return; } Map uiContext = new HashMap(); uiContext.put("Owner", this.billListUI); uiContext.put("idList", idList); uiContext.put("entryNames", entryNames); uiContext.put("entriesKey", entriesKey); uiContext.put("srcBillType", srcBillType); uiContext.put("botpSelectors", null); uiContext.put("SRCBILLLIST", this.billListUI); IUIFactory uiFactory = UIFactory.createUIFactory(UIFactoryName.MODEL); IUIWindow window = uiFactory.create("com.kingdee.eas.base.btp.client.BTPMakeBillUIWithoutGrp", uiContext, null); CtrlSwingUtilities.centerWindow((UIModelDialog)window); BTPMakeBillUIWithoutGrp uiWindow = (BTPMakeBillUIWithoutGrp)window.getUIObject(); uiWindow.setBTPImplCaller(this); window.show(); Logger.info("createTo finished!"); }