using Epost.BLL; using Epost.Common; using Epost.Model; using System; using System.Collections.Generic; using System.Data; using System.Globalization; using System.Linq; using System.Net; using System.Net.Http; using System.Runtime.Remoting.Metadata.W3cXsd2001; using System.Web.Http; using static Epost.Model.WmsOrderModel; namespace Epost.DPS.Controllers { [RoutePrefix("api/WebAPI")] public class TaskAPIController : ApiController { private static object apiobj = new object(); OrderBLL orderbll = new OrderBLL(); [Route("PutOrderInfoRequest")] [HttpPost] public ResultModel PutOrderInfoRequest(List data) { ResultModel result = new ResultModel(); try { string isdel = string.Empty; lock (apiobj) { LogHelper.WriteLogInfo("PutOrderInfoRequest:" + JsonHelper.SerializeObject(data)); if (data.Any()) { #region 创建datatable DataTable dataTable = new DataTable(); dataTable.TableName = "orders"; dataTable.Columns.Add(new DataColumn("matchid", typeof(string))); dataTable.Columns.Add(new DataColumn("orderid", typeof(string))); dataTable.Columns.Add(new DataColumn("shopid", typeof(string))); dataTable.Columns.Add(new DataColumn("shopname", typeof(string))); dataTable.Columns.Add(new DataColumn("orderway", typeof(string))); dataTable.Columns.Add(new DataColumn("prino", typeof(string))); dataTable.Columns.Add(new DataColumn("tolocation", typeof(string))); dataTable.Columns.Add(new DataColumn("warehouseid", typeof(string))); dataTable.Columns.Add(new DataColumn("batchid", typeof(string))); dataTable.Columns.Add(new DataColumn("sku", typeof(string))); dataTable.Columns.Add(new DataColumn("barcode", typeof(string))); dataTable.Columns.Add(new DataColumn("goodscode", typeof(string)));//批次 dataTable.Columns.Add(new DataColumn("goodsname", typeof(string))); dataTable.Columns.Add(new DataColumn("quantity", typeof(int))); dataTable.Columns.Add(new DataColumn("downdate", typeof(string))); dataTable.Columns.Add(new DataColumn("clientcode", typeof(string))); #endregion foreach (PutOrderReq item in data) { foreach (ORDERITEM detailitem in item.ITEMS) { #region datatable DataRow dataRow = dataTable.NewRow(); dataRow["matchid"] = item.WAVENO;//波次 dataRow["orderid"] = detailitem.DOCNO;//订单编号 dataRow["shopid"] = item.SHOPID;//货主 dataRow["shopname"] = item.SHOPNAME; dataRow["orderway"] = item.ORDERWAY; dataRow["prino"] = item.PRINO; dataRow["tolocation"] = item.LOCATION; dataRow["warehouseid"] = item.WAREHOUSEID; dataRow["batchid"] = detailitem.UUID; dataRow["sku"] = detailitem.SKU; dataRow["barcode"] = detailitem.BARCODE; dataRow["goodscode"] = detailitem.BATCHNO; dataRow["goodsname"] = detailitem.DESCR_C; dataRow["quantity"] = detailitem.QUANTITY; dataRow["clientcode"] =item.WAVENOTE; dataRow["downdate"] = DateTime.Now.ToString(); dataTable.Rows.Add(dataRow); } #endregion } #region Dic Dictionary diclist = new Dictionary(); diclist.Add("matchid", "matchid"); diclist.Add("orderid", "orderid"); diclist.Add("shopid", "shopid"); diclist.Add("shopname", "shopname"); diclist.Add("orderway", "orderway"); diclist.Add("prino", "prino"); diclist.Add("tolocation", "tolocation"); diclist.Add("warehouseid", "warehouseid"); diclist.Add("batchid", "batchid"); diclist.Add("sku", "sku"); diclist.Add("barcode", "barcode"); diclist.Add("goodscode", "goodscode"); diclist.Add("goodsname", "goodsname"); diclist.Add("quantity", "quantity"); diclist.Add("downdate", "downdate"); diclist.Add("clientcode", "clientcode"); #endregion bool bo = orderbll.UpdateData(dataTable, diclist, "orders"); if (bo) { result.msg = "成功!"; result.result = "0"; } else { result.msg = "请求失败!"; result.result = "-1"; } } else { result.msg = "参数异常!"; result.result = "-1"; } } } catch (Exception ex) { LogHelper.WriteLogInfo("PutOrderInfoRequest:" + ex.ToString(), LogHelper.Log_Type.ERROR); result.result = "-1"; result.msg = "请求接口异常!"; } return result; } } }