EAS_提供审批处理接口给第三方审批

提供接口给第三方进行审批金蝶的单据,示例代码如下:
String queryAssignSql = "SELECT FBIZOBJID FROM T_WFR_ASSIGN where FASSIGNID = '" + assignId + "'";
            IRowSet rowSet = DbUtil.executeQuery(ctx, queryAssignSql);
            if (rowSet.next()){
                IMultiApprove multiapprove = MultiApproveFactory.getLocalInstance(ctx);
                IEnactmentService service = EnactmentServiceFactory.createEnactService(ctx);
                ProcessInstInfo procInst = service.getProcessInstInfoByAssign(inParam.getTaskId());
                if (!WfState.RUNNING_VALUE.equals(procInst.getState())) {
                    String alias = WfState.getEnum(procInst.getState()).getAlias();
                    return new DefaultResp(false, "200", "当前流程状态为:"+alias+",不允许审批",null );
                }

                EngineUtil.getEngine(ctx).getCacheManager().removeAssignment(assignId);
                AssignmentInfo assignmentInfo = service.getAssignmentById(assignId);
                ctx.setCaller(new ObjectUuidPK(assignmentInfo.getAssignInfo().getPersonUserID()));

                MultiApproveInfo info = new MultiApproveInfo();
                info.setAssignment(assignId);
                info.setBillId(BOSUuid.read(assignmentInfo.getBizObjectIds()));
                info.setExtendedProperty("businuessObjectId", assignmentInfo.getBizObjectIds());
                info.setExtendedProperty("assignmentID", assignId);
                info.setExtendedProperty("isAddNew", "isAddNew");
                info.setIsMailNotifyNext(false);
                info.setIsMobelNotifyNext(false);
                info.setOpinion(inParam.getOpinion());
                info.setIsPass(inParam.isPass() ? ApproveResult.PASS : ApproveResult.NOT_PASS);
                info.setHandlerOpinion(inParam.getHandlerOpinion());
                info.setMultiHandleOpinion(String.valueOf(inParam.getHandlerOpinion()));
                info.setHandlerContent(inParam.getHandlerContent());
                info.setStatus(MultiApproveStatusEnum.SUBMIT);
                multiapprove.submit(info);
            }else{
                fileLogger.log("任务已被处理,请勿重复提交");
                return new DefaultResp(false, "200", "任务已被处理,请勿重复提交",null);
//                throw new Exception("任务已被处理,请勿重复提交");
            }

具体的决策项获取可以参看我的另一篇文章 https://www.cnblogs.com/ketoli/p/19148175

posted @ 2025-10-17 16:23  凉了记忆  阅读(5)  评论(0)    收藏  举报