二开案例.WebApi.查询审批路线

【应用场景】
WebApi,查询审批路线。
【案例演示】
采购订单,审批中的工作流,查询审批路线信息。
【数据准备】
新建采购订单,启动工作流。


查询流程实例ID:
SELECT a.FASSIGNID AS 待办任务ID,a.FPROCINSTID AS 流程实例ID,* FROM T_WF_ASSIGN a LEFT JOIN T_WF_PROCINST b ON a.FPROCINSTID=b.FPROCINSTID WHERE b.FNUMBER='CGDD000695_20220902135532'
【实现步骤】
<1>编写自定义WebApi接口,代码如下。
using Kingdee.BOS.ServiceFacade.KDServiceFx;
using Kingdee.BOS.WebApi.ServicesStub;
using Kingdee.BOS.Workflow.Models.Chart;
using Kingdee.BOS.Workflow.ServiceHelper;
using System;
using System.Collections.Generic;
namespace Jac.XkDemo.BOS.WebApi
{
/// <summary>
/// 【WebApi】查询审批路线
/// </summary>
public class GetProcessRouterWebApiService : AbstractWebApiBusinessService
{
public GetProcessRouterWebApiService(KDServiceContext context)
: base(context)
{
//
}
/// <summary>
/// 查询审批路线
/// </summary>
/// <param name="assignId">待办任务ID</param>
/// <returns>返回审批路线集合</returns>
public List<ChartActivityInfo> GetProcessRouterByAssignId(string assignId)
{
var ctx = KDContext.Session.AppContext;
if (ctx == null)
{
// 会话超时
throw new Exception("ctx = null");
}
string versionId, procInstId;
AssignmentServiceHelper.GetProcInstIdAndVersionId(ctx, assignId, out versionId, out procInstId);
var activityInfos = WorkflowChartServiceHelper.GetProcessRouter(ctx, procInstId);
return activityInfos;
}
/// <summary>
/// 查询审批路线
/// </summary>
/// <param name="procInstId">流程实例ID</param>
/// <returns>返回审批路线集合</returns>
public List<ChartActivityInfo> GetProcessRouterByProcInstId(string procInstId)
{
var ctx = KDContext.Session.AppContext;
if (ctx == null)
{
// 会话超时
throw new Exception("ctx = null");
}
var activityInfos = WorkflowChartServiceHelper.GetProcessRouter(ctx, procInstId);
return activityInfos;
}
}
}<2>拷贝WebApi接口组件到应用站点的WebSite\Bin目录下,重启IIS,开发完毕。
【功能验证】
<1>编写接口单元测试代码如下,验证通过。
using Kingdee.BOS.WebApi.Client;
using Kingdee.BOS.Workflow.Models.Chart;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace Jac.XkDemo.BOS.WebApiTests
{
/// <summary>
/// 【WebApi】查询审批路线Tests
/// </summary>
[TestClass]
public class GetProcessRouterWebApiServiceTests
{
[TestMethod]
public void GetProcessRouterByAssignIdTest()
{
// Init
var url = "http://localhost:1600/k3cloud/";
var dbid = "602f2c09aee85f";
var userName = "demo";
var password = "888888";
int lcid = 2052;
var apiClient = new K3CloudApiClient(url);
var isLoginOk = apiClient.Login(dbid, userName, password, lcid);
// Action
if (isLoginOk)
{
二开案例.WebApi.查询审批路线
【应用场景】WebApi,查询审批路线。【案例演示】采购订单,审批中的工作流,查询审批路线信息。【数据准备】新建采购订单,启动工作流。查...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



