金蝶云星空自定义webAPI, C#版

金蝶云星空自定义webAPI, C#版
代码继承 官方的类库: AbstractWebApiBusinessService


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.ServiceFacade.KDServiceFx;
using Kingdee.BOS.WebApi.ServicesStub;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.WebApi.Client;

using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Bill.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS;
using Kingdee.BOS.Util;

using System.Data;
using System.Web.UI.WebControls;
using System.IO;
using Kingdee.BOS.Core.NotePrint;
using Kingdee.BOS.JSON;
using System.Runtime.Remoting.Messaging;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;

using System.Security.Cryptography;
using Kingdee.BOS.TCP;
using Button = System.Web.UI.WebControls.Button;
using Kingdee.BOS.Core.Metadata.EntityElement;
using System.Runtime.CompilerServices;

using Kingdee.BOS.Authentication;
using Kingdee.BOS.Log;
using System.Xml.Linq;
using static System.Collections.Specialized.BitVector32;
namespace GRES.Cloud.BOS.UserDefinedWebAPI
{
    [Kingdee.BOS.Util.HotUpdate]
    [Description("自定义API")]
    public class SelfWebAPI: **AbstractWebApiBusinessService**
    {
        public SelfWebAPI(KDServiceContext context)
            : base(context)
        {
            //
        }        
        /// 物料编码字符串,逗号隔开
        /// 仓库编码
        /// 
        public object GetOKtory(string arg1, string arg2)
        {
            
            var ctx = this.KDContext.Session.AppContext;

            //var ctx = new Kingdee.BOS.Context();
            
            string qty = "";
            string inventory = "";
            string strSql = "/*dialect*/[dbo].xxxx_GetInventory '"+ arg1 + "','"+ arg2 + "'";
            DynamicObjectCollection objc = DBUtils.ExecuteDynamicObject(ctx, strSql);
            foreach (dynamic obj in objc)
            {
                qty = obj["qty"].ToString();
                inventory = obj["inventory"].ToString();
            }
            var responseDto = new
            {
                Result = "OK",
                Qty = qty,
                Inventory = inventory,
                Args = new object[] { objc, arg2 }
            };
            return responseDto;            
        }
        ///      
        /// 返回字段:BOM层级,工位,子项物料编码,BOM版本,标准用量
        /// 
        /// 物料编码字符串,逗号隔开
        /// 
        public object GetBom2Info(string arg1)
        {

            var ctx = this.KDContext.Session.AppContext;
           
            string strSql = "/*dialect*/[dbo].xxxx_P_GetMesBomInformation '" + arg1 + "'";
            DynamicObjectCollection objc = DBUtils.ExecuteDynamicObject(ctx, strSql);
            
            var responseDto = new
            {
                Result = "OK",               
                Args = new object[] { objc, arg1 }
            };
            return responseDto;
        }

    }
}

调用示例:


K3CloudApiClient client;
client = new K3CloudApiClient();
var rval = client.Execute ("xxxx.Cloud.BOS.UserDefinedWebAPI.SelfWebAPI.GetOKtory,xxxx.Cloud.BOS.UserDefinedWebAPI", new object[] { "参数", "1000" });
posted @ 2026-07-18 08:58  虚拟过客之IT老男人  阅读(24)  评论(0)    收藏  举报