电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-231

二开案例.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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信