10. SRM系统访问金蝶云星空(webapi):读取工序委外单

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

需求描述

工序委外单是根据任务单委外某个工序给委外供应商加工。

SRM系统从ERP中获取工序委外单信息,工序委外单的字段如下:

单据头:FBillHead

 实体主键:FID 
 单据编号:FBillNo 
 单据状态:FDocumentStatus 
 审核人:FApproverId 
 审核日期:FApproveDate 
 修改人:FModifierId 
 创建日期:FCreateDate 
 创建人:FCreatorId 
 修改日期:FModifyDate 
 作废日期:FCancelDate 
 作废人:FCanceler 
 作废状态:FCancelStatus 
 备注:FDescription 
 生产组织:FOrgId 
 日期:FDate 
 生产车间:FWorkShopID 
 计划员:FPlannerID 
 供应商:FSupplierId 

单据体:FEntity

 实体主键:FEntryID 
 物料编码:FMaterialId  
 物料名称:FMaterialName 
 规格型号:FMaterialModel 
 单位:FUnitID 
 数量:FQty 
 委外工序:FWWGX 
 交货日期:FDeliveryDate 
 备注:FEntryNote 
 源单类型:F_BLN_SourceBillType 
 源单编号:F_BLN_SourceBillNo 
 已发出数量:FJoinQty 
 生产订单分录内码:FMOEntryId 
 生产订单内码:FMOId 
 生产订单分录行号:FMOEntrySeq 
 MES批次号:FMESLot 
 工序委外入库数量:F_BLN_gxwwrksl 

接口定义

/// 查询
        /// 
        /// 
        public List ExecuteBillQuery(string data)

请求参数

{
    "FormId": "BLN_PcsOutSrcOrder",
    "FieldKeys": "FBillNo,FEntity_Fseq,FDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.Fspecification,FUnitId.FNumber,FDeliveryDate,FQty,FJoinQty,F_BLN_gxwwrksl,FSupplierId.FNumber,FSupplierId.FName,FSupplierId.FShortName,FCreatorId.FName,FPlannerID.FName,FApproverId.FName,FDocumentStatus,FWorkShopID.FName",
    "FilterString": "",
    "OrderString": "FDate desc",//排序
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 0
}

返回结果

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

代码示例

无引用组件示例(不引用金蝶的组件):
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 = "BLN_PcsOutSrcOrder",//工序委外单唯一标识
                    FieldKeys = GetFieldKeys(),//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
                    FilterString = "FDocumentStatus='C'",//获取已经审核单据
                   OrderString = "FDate desc",//排序
                    TopRowCount = 0,
                    StartRow = 0,
                    Limit = 0
                };
              List parameters = new List();
                parameters.Add(dataObj);
                var data = JsonConvert.SerializeObject(parameters);
                httpClient.Content = data;

                var result = httpClient.AsyncRequest();

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

 /// 
        /// 需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
        /// 
        ///  
private string GetFieldKeys()
        {
           List fieldKeys = new List();
            fieldKeys.Add("FBillNo");//单号
            fieldKeys.Add("FEntity_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("FMaterialId.F_BLN_Material");//材质
            fieldKeys.Add("FUnitId.FNumber");//计量单位
            fieldKeys.Add("FDeliveryDate");//供货日期
            fieldKeys.Add("FQty");//数量
            fieldKeys.Add("FJoinQty");//委外发出量
            fieldKeys.Add("F_BLN_gxwwrksl");// 已入库量
            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("FEntryNote");//备注
            fieldKeys.Add("FWorkShopID.FName");//生产车间名称
            fieldKeys.Add("FDocumentStatus");//整单单据状态 A 创建, B 审核中,C  已审核 ,D 重新审核
            fieldKeys.Add("FMOEntryId");// 生产订单分录内码:FMOEntryId 
            fieldKeys.Add("FMOId ");//  生产订单内码:FMOId 
            fieldKeys.Add("FMOEntrySeq ");//  生产订单分录行号:FMOEntrySeq 
            fieldKeys.Add("FMESLot ");//  MES批次号:FMESLot 
            return string.Join(",", fieldKeys.ToArray());
        }

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

你可能感兴趣的:(10. SRM系统访问金蝶云星空(webapi):读取工序委外单)