二开案例.WebApi.工作流审批

【应用场景】
WebApi,工作流审批。
【案例演示】
采购订单某张单据已启动工作流,使用WebApi接口,执行工作流当前节点的审批动作。
【准备工作】
使用demo用户登录业务系统,采购订单绑定工作流,新增采购订单,并提交单据,启动工作流。


【实现步骤】
<1>登录业务站点,打开WebApi测试页,选择采购订单,切换到工作流审批接口,进行在线测试,定义好请求数据包,验证接口,如下图所示。

请求数据包:
{
"FormId": "PUR_PurchaseOrder",
"Numbers": ["CGDD000695"],
"UserId": 100008,
"ApprovalType": 1
}返回数据包:
{
"Result": {
"ResponseStatus": {
"IsSuccess": true,
"Errors": [],
"SuccessEntitys": [{
"Id": "630c57231424b8",
"Number": null,
"DIndex": 0
}],
"SuccessMessages": [],
"MsgCode": 0
}
}
}demo审批通过后,工作流跳转到下一个审批节点。

<2>在线验证通过后,即可参考请求数据包实现WebApi接口调用。
using Kingdee.BOS.WebApi.Client;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
namespace Jac.XkDemo.BOS.WebApiTests
{
/// <summary>
/// WebApi.工作流审批.采购订单审批
/// </summary>
[TestClass]
public class PurchaseOrderWorkflowAudit
{
[TestMethod]
public void Test()
{
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll
K3CloudApiClient client = new K3CloudApiClient("http://localhost:1600/k3cloud/");
var loginResult = client.ValidateLogin("602f2c09aee85f", "Administrator", "888888", 2052);
var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();
//登录结果类型等于1,代表登录成功
if (resultType == 1)
{
/*
{
"FormId": "PUR_PurchaseOrder",
"Numbers": ["CGDD000695"],
"UserId": 135880,
"ApprovalType": 1
}
*/
var dataObj = new
{
FormId = "PUR_PurchaseOrder", // 业务对象标识
Numbers = new[] { "CGDD000695" }, // 单据编号
UserId = 100008, // 审批人内码(SQL:SELECT FUSERID FROM T_SEC_USER WHERE FNAME=N'demo')
ApprovalType = 1 // 审批类型,整型(1:审批通过;2:驳回;3:终止)
};
var data = JsonConvert.SerializeObject(dataObj);
var result = client.WorkflowAudit(data);
var responseDto = ResponseDto.Parse(result);
Assert.IsTrue(responseDto != null);
Assert.IsTrue(responseDto.Result != null);
Assert.IsTrue(responseDto.Result.ResponseStatus != null);
Assert.IsTrue(responseDto.Result.ResponseStatus.IsSuccess);
return;
}
Assert.IsFalse(true);
}
#region ResponseDto
/// <summary>
/// 响应数据包
/// </summary>
public class ResponseDto
{
#region method
/// <summary>
/// 将当前对象序列化为Json字符串
/// </summary>
/// <returns></returns>
public virtual string ToJson()
{
return JsonConvert.SerializeObject(this);
}
/// <summary>
/// 将Json字符串反序列化为指定对象
/// 二开案例.WebApi.工作流审批
【应用场景】WebApi,工作流审批。【案例演示】采购订单某张单据已启动工作流,使用WebApi接口,执行工作流当前节点的审批动作。【准备工作...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



