美文网首页
03 SRM系统访问金蝶云星空(WebApi集成方式):读取委外

03 SRM系统访问金蝶云星空(WebApi集成方式):读取委外

作者: Steve_Hu | 来源:发表于2019-11-20 15:23 被阅读0次

返回根目录 SRM系统访问金蝶云星空(ERP)的接口定义及示例

需求描述

金蝶云星空(ERP)做委外生产任务单.
SRM系统从ERP中获取委外订单信息,返回字段信息描述如下:

委外订单字段数据

接口定义

/// <summary>查询</summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List<object> ExecuteBillQuery(string data)

请求参数

{
    "FormId": "SUB_SUBREQORDER",
    "FieldKeys": "FBillNo,FTreeEntity_Fseq,FDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.Fspecification,FUnitId.FNumber,FPlanFinishDate,FQty,FStockInQty,FSupplierId.FNumber,FSupplierId.FName,FSupplierId.FShortName,FCreatorId.FName,FPlannerID.FName,FApproverId.FName,FDocumentStatus,FCloseStatus",
    "FilterString": "",
    "OrderString": "",
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 0
}

返回结果

[["FValue1","FValue2",...],["FValue1","FValue2",...],...]

代码示例

1)SDK辅助类示例(引用Kingdee.BOS.WebAPI.Client.dll)
引用组件Kingdee.BOS.WebApi.Client.dll
下载链接: https://pan.baidu.com/s/1RthbrrtUgeqWGi-eLM-yjg
提取码: eqin

 if (LoginByAppSecret())
            {
                var dataObj = new
                {
                    FormId = "SUB_SUBREQORDER",//委外订单唯一标识
                    FieldKeys = GetSubOrderFieldKeys(),//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
                    FilterString = "FDocumentStatus='C'",//获取已经审核的单据
                    OrderString = "",//排序
                    TopRowCount = 0,
                    StartRow = 0,
                    Limit = 0
                };
                var data = JsonConvert.SerializeObject(dataObj);
                var result = apiClient.ExecuteBillQuery(data);

                return JsonConvert.SerializeObject(result);
            }
            else
            {
                return "登录失败!";
            }
 /// <summary>
        /// 需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
        /// </summary>
        /// <returns></returns> 
  private string  GetSubOrderFieldKeys()
        {
            List<string> fieldKeys = new List<string>();
            fieldKeys.Add("FBillNo");//订单号
            fieldKeys.Add("FTreeEntity_Fseq");//订单行号
            fieldKeys.Add("FDate");//订单日期
           
            fieldKeys.Add("FMaterialId.FNumber");//物料编码
            fieldKeys.Add("FMaterialId.FName");//物料名称
            fieldKeys.Add("FMaterialId.Fspecification");//规格型号
            fieldKeys.Add("FMaterialId.FErpClsID");//物料属性 1-外购 2-自制 3-委外加工  5-虚拟件
            fieldKeys.Add("FPlanFinishDate");//供货日期
            fieldKeys.Add("FUnitId.FNumber");//计量单位
            fieldKeys.Add("FStockId.FNumber");//库位代码
            fieldKeys.Add("FStockId.FName");//库位名称
            fieldKeys.Add("FMaterialId.F_BLN_Material");//材质
            fieldKeys.Add("FQty");//订单数量
            fieldKeys.Add("FStockInQty");// 已入库量
            fieldKeys.Add("FSupplierId.FNumber");// 供方编码
            fieldKeys.Add("FSupplierId.FName");//供方名称
            fieldKeys.Add("FSupplierId.FShortName");//供方简称
     
            fieldKeys.Add("FCreatorId.FName");//制单人
            fieldKeys.Add("FPlannerID.FName");//业务员
            fieldKeys.Add("FApproverId.FName");//审核人
            fieldKeys.Add("FDescription");//整单备注
            fieldKeys.Add("FDescription1");//行备注
            fieldKeys.Add("FStatus");//业务状态 1 计划, 2计划确认, 3 下达, 4 开工 , 5 完工,6 结案,7 结算
            fieldKeys.Add("FDocumentStatus");//整单单据状态 A 创建, B 审核中,C  已审核 ,D 重新审核
            return string.Join(",", fieldKeys.ToArray());
        }

2)无引用组件示例(不引用金蝶的组件):
http://ServerIp/K3Cloud/接口命名空间.接口实现类名.方法,组件名.common.kdsvc

 if (LoginByAppSecret())
            {
                HttpClient httpClient = new HttpClient();
                httpClient.Url = "http://localhost/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";

                var dataObj = new
                {
                    FormId = "SUB_SUBREQORDER",//委外订单唯一标识
                    FieldKeys = GetSubOrderFieldKeys(),//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
                    FilterString = "FDocumentStatus='C'",//获取已经审核的单据
                    OrderString = "",//排序
                    TopRowCount = 0,
                    StartRow = 0,
                    Limit = 0
                };
            List<object> parameters = new List<object>();
                parameters.Add(dataObj);
                var data = JsonConvert.SerializeObject(parameters);
                httpClient.Content = data;

                var result = httpClient.AsyncRequest();

                return result;
            }
            else
            {
                return "登录失败!";
            }

返回根目录 SRM系统访问金蝶云星空(ERP)的接口定义及示例

相关文章

网友评论

      本文标题:03 SRM系统访问金蝶云星空(WebApi集成方式):读取委外

      本文链接:https://www.haomeiwen.com/subject/qnloictx.html