Files
T-DAS/Epost.TestToolsWeb/Controllers/TaskAPIController.cs
2025-06-17 16:40:02 +08:00

136 lines
6.2 KiB
C#

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<PutOrderReq> 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)));
#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["downdate"] = DateTime.Now.ToString();
dataTable.Rows.Add(dataRow);
}
#endregion
}
#region Dic
Dictionary<string, string> diclist = new Dictionary<string, string>();
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");
#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;
}
}
}