using Kingdee.BOS; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.WebApi.ServicesStub; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.ComponentModel; namespace Kingdee.MyProject.WebApi { [Description("物料同步WebAPI"), HotUpdate] public class MaterialSyncService : AbstractWebApiBusinessService { public override string DoService(string input) { try { JObject request = JObject.Parse(input); JArray data = (JArray)request["Data"]; var formId = "BD_MATERIAL"; var meta = MetaDataServiceHelper.Load(this.Context, formId); var objType = meta.BusinessInfo.GetDynamicObjectType(); var saveList = new List(); foreach (var item in data) { var billObj = new DynamicObject(objType); billObj["Number"] = (string)item["Number"]; billObj["Name"] = (string)item["Name"]; var orgField = meta.BusinessInfo.GetField("FCreateOrgId"); var orgObj = BusinessDataServiceHelper.LoadSingle( this.Context, 1, orgField.RefFormDynamicObjectType); billObj["CreateOrgId"] = orgObj; billObj["CreateOrgId_Id"] = 1; saveList.Add(billObj); } var result = BusinessDataServiceHelper.Save( this.Context, meta.BusinessInfo, saveList.ToArray(), null, "Save"); return JsonConvert.SerializeObject(new { Success = true }); } catch (Exception ex) { return JsonConvert.SerializeObject(new { Success = false, Error = ex.Message }); } } } }