二开案例.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字符串反序列化为指定对象 /// </summary> /// <param name="json"></param> /// <returns></returns> public static ResponseDto Parse(string json) { return JsonConvert.DeserializeObject<ResponseDto>(json); } #endregion #region property /// <summary> /// 响应结果 /// </summary> public ResponseResult Result { get; set; } #endregion #region class public class ResponseResult { public string Id { get; set; } public ResponseResultStatus ResponseStatus { get; set; } public class ResponseResultStatus { public string MsgCode { get; set; } public bool IsSuccess { get; set; } public string ErrorCode { get; set; } public IList<ResponseMessage> Errors { get; set; } public IList<ResponseMessage> SuccessMessages { get; set; } public IList<SuccessEntity> SuccessEntitys { get; set; } public class ResponseMessage { public string FieldName { get; set; } public string Message { get; set; } public int DIndex { get; set; } } public class SuccessEntity { public virtual string Id { get; set; } public virtual string Number { get; set; } public virtual string BillNo { get; set; } public virtual int DIndex { get; set; } } } #endregion } #endregion } } }
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.WebApi.工作流审批
【应用场景】WebApi,工作流审批。【案例演示】采购订单某张单据已启动工作流,使用WebApi接口,执行工作流当前节点的审批动作。【准备工作...
点击下载文档
本文2024-09-23 04:01:12发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162590.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章