关于EAS 套打配置审批结果信息的相关思路

在我们配置套打开发的时候,有时候我们需要单据流程的审批结果信息,对于有的流程我们可能异常终止过,我们如果需要获取当前的审批结果信息的话的情况,我们可以参考一下几点思路

1、首先需要在套打管理中新增一个动态元数据 其中名称、别名可以自定义

2、在字段列表中添加我们需要套打出来的字段 比如 审批人、审批结果、审批意见  类型(String)

3、在我们的套打模版(套打设计器中添加审批意见元素据)————数据——添加元数据——套打元素据,选择我们的审批元数据
4、在我们的editUI中编写代码(重写方法,一级对应的sql)
    public void actionPrint_actionPerformed(ActionEvent e) throws Exception {
          ArrayList idList = new ArrayList();
            if (editData != null && !StringUtils.isEmpty(editData.getString("id"))) {
                idList.add(editData.getString("id"));
            }
            if (idList == null || idList.size() == 0 || getTDQueryPK() == null || getTDFileName() == null)
                return;
            MyDataProvider data = new MyDataProvider();
            com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper appHlp = new com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper();
            appHlp.printPreview(getTDFileName(), data, javax.swing.SwingUtilities.getWindowAncestor(this));
        super.actionPrint_actionPerformed(e);
    }


    public void actionPrintPreview_actionPerformed(ActionEvent e)
            throws Exception {
          ArrayList idList = new ArrayList();
            if (editData != null && !StringUtils.isEmpty(editData.getString("id"))) {
                idList.add(editData.getString("id"));
            }
            if (idList == null || idList.size() == 0 || getTDQueryPK() == null || getTDFileName() == null)
                return;
            MyDataProvider data = new MyDataProvider();
            com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper appHlp = new com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper();
            appHlp.printPreview(getTDFileName(), data, javax.swing.SwingUtilities.getWindowAncestor(this));
        super.actionPrintPreview_actionPerformed(e);
    }

    
    public class MyDataProvider extends AbstractPrintDataProvider{

        
        @Override
        public IRowSet getData(R1PrintDataSource dataSource) throws Exception {
            IRowSet irow = null;
            String curBillID = editData.getId().toString();
            IQueryExecutor iqec = null;  
            FilterInfo filterInfo = new FilterInfo();  
            EntityViewInfo viewInfo = new EntityViewInfo(); 
            if("PurchaseRequestBillQuery.bos-query".equals(dataSource.getId())){
                iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(  
                        "com.kingdee.eas.custom.office.purchase.app",  
                        "PurchaseRequestBillQuery"));  
                filterInfo.getFilterItems().add(  
                        new FilterItemInfo("id", curBillID,  
                                CompareType.EQUALS));  
                viewInfo.setFilter(filterInfo);  
                iqec.setObjectView(viewInfo);  
                iqec.option().isAutoTranslateBoolean = true;  
                iqec.option().isAutoTranslateEnum = true;  
                            
                try {
                    irow = iqec.executeQuery();
                } catch (BOSException e) {
                    MsgBox.showInfo("获取套打数据有误:"+e.getMessage());
                }
                
                
            } 
            if("PurchaseRequestAppove".equals(dataSource.getId())){

                FilterInfo filter= WfUtils.getApproveFilter(curBillID);
                String filterSql=filter.toSql();
                filterSql=filterSql.substring(filterSql.indexOf("IN"));
                StringBuffer sql = new StringBuffer();
                sql.append("SELECT "); 
                sql.append("A.FID AS billID2,")
                    .append("A.FCreateTime as auditDate,")
                    .append("A.FIsPass  as auditResult,")
                    .append("B.FName_l2 as auditPerson,")
                    .append("A.FOpinion_l2 as auditAdvise");
                sql.append(" FROM T_BAS_MultiApprove A")
                    .append(" INNER JOIN T_PM_User   B ON A.FCreatorID = B.FID")
                    .append(" INNER JOIN T_BD_Person   C ON B.FPersonId = C.FID");                
                sql.append(" where A.FBillID='").append(curBillID).append("' AND fstatus = 1  and A.fassignmentid ").append(filterSql).append(" order by 

A.FCreateTime");
                
                
                ISQLExecutor isexe = SQLExecutorFactory.getRemoteInstance(sql.toString());
                try {
                    irow = isexe.executeSQL();
                    return irow;
                } catch (BOSException e) {
                    MsgBox.showInfo("获取套打数据有误:"+e.getMessage());
                }
            } 
            if("PurchaseRequestBillR1Query".equals(dataSource.getId())){
                iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(  
                        "com.kingdee.eas.custom.office.purchase.app",  
                        "PurchaseRequestBillR1Query"));  
                filterInfo.getFilterItems().add(  
                        new FilterItemInfo("id", curBillID,  
                                CompareType.EQUALS));  
                viewInfo.setFilter(filterInfo);  
                iqec.setObjectView(viewInfo);  
                iqec.option().isAutoTranslateBoolean = true;  
                iqec.option().isAutoTranslateEnum = true;  
                            
                try {
                    irow = iqec.executeQuery();
                } catch (BOSException e) {
                    MsgBox.showInfo("获取套打数据有误:"+e.getMessage());
                }
            } 
            return irow;
        
        }
        
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值