diff --git a/Reportapi/MyCode.Project.Domain/Message/Request/WMS/SaleOrder.cs b/Reportapi/MyCode.Project.Domain/Message/Request/WMS/SaleOrder.cs new file mode 100644 index 0000000..c2b85b5 --- /dev/null +++ b/Reportapi/MyCode.Project.Domain/Message/Request/WMS/SaleOrder.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MyCode.Project.Domain.Message.Request.WMS +{ + public class SaleOrder + { + /// + /// 单据编号 + /// + public string OrderNo { get; set; } + /// + /// 公司组织 + /// + public string CompanyId { get; set; } + /// + /// 同步日期时间 + /// + public string ReadTime { get; set; } + /// + /// 销售类型 + /// + public string OrderType { get; set; } + /// + /// 客户编码 + /// + public string CustAccount { get; set; } + /// + /// 单据日期 + /// + public string OrderTime { get; set; } + /// + /// WMS仓库 + /// + public string WarehouseId { get; set; } + /// + /// 货主 + /// + public string CustomerId { get; set; } + /// + /// 下发系统 + /// + public string Channel { get; set; } + /// + /// 单据类型 + /// + public string ItemType { get; set; } + /// + /// 单据总数量 + /// + public int TotalQty { get; set; } + /// + /// 单据总金额 + /// + public decimal TotalMount { get; set; } + /// + /// 备注 + /// + public string Comment { get; set; } + /// + /// 单据创建日期时间 + /// + public string CreateTime { get; set; } + /// + /// 订单明细 + /// + public Line[] Lines { get; set; } + } + + public class Line + { + /// + /// 单据编号 + /// + public string OrderNo { get; set; } + /// + /// 公司组织 + /// + public string CompanyId { get; set; } + /// + /// 销售类型 + /// + public string OrderType { get; set; } + /// + /// 行号 + /// + public int LineNo { get; set; } + /// + /// 货主 + /// + public string CustomerId { get; set; } + /// + /// SKU + /// + public string Sku { get; set; } + /// + /// 条码 + /// + public string Barcode { get; set; } + /// + /// 行数量 + /// + public int OrderQty { get; set; } + /// + /// 单位 + /// + public string OrderUnit { get; set; } + /// + /// 价格 + /// + public decimal OrderPrice { get; set; } + /// + /// 物料编码 + /// + public string ItemId { get; set; } + /// + /// 尺寸 + /// + public string SizeType { get; set; } + /// + /// 颜色 + /// + public string Color { get; set; } + /// + /// ERP仓库 + /// + public string LocationId { get; set; } + /// + /// 部门 + /// + public string Comment { get; set; } + /// + /// 创建日期时间 + /// + public string CreateTime { get; set; } + } + +} diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj index 02119f4..3cd6e93 100644 --- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj +++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj @@ -69,6 +69,7 @@ + diff --git a/Reportapi/MyCode.Project.ScheduleTask/App.config b/Reportapi/MyCode.Project.ScheduleTask/App.config index 073e12c..f209889 100644 --- a/Reportapi/MyCode.Project.ScheduleTask/App.config +++ b/Reportapi/MyCode.Project.ScheduleTask/App.config @@ -1,4 +1,4 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -70,142 +70,142 @@ --> - - - + + + - + - - - + + + - - - - + + + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + diff --git a/Reportapi/MyCode.Project.Services/App.config b/Reportapi/MyCode.Project.Services/App.config index 4769706..04d83ff 100644 --- a/Reportapi/MyCode.Project.Services/App.config +++ b/Reportapi/MyCode.Project.Services/App.config @@ -1,32 +1,32 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - + diff --git a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs index 4f5174f..4dc0140 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs @@ -1,5 +1,6 @@ using MyCode.Project.Domain.Message.Request.KingDee; using MyCode.Project.Domain.Message.Request.KingDee.SaveModel; +using MyCode.Project.Domain.Message.Request.WMS; using MyCode.Project.Domain.Message.Response.JackYun; using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Repositories; @@ -10,6 +11,7 @@ using MyCode.Project.OutSideService; using MyCode.Project.Repositories; using MyCode.Project.Repositories.Common; using MyCode.Project.Services.IServices; +using RestSharp; using System; using System.Collections.Generic; using System.Linq; @@ -18,7 +20,7 @@ using System.Threading.Tasks; namespace MyCode.Project.Services.Implementation { - public class OrderPushService : IOrderPushService + public class OrderPushService : IOrderPushService { private IJackYunService _jackYunService; private IJackOrdersRepository _jackOrdersRepository; @@ -177,8 +179,55 @@ namespace MyCode.Project.Services.Implementation private string PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder) { + var itemList = _pushKingDeeOrderItemRepository + .Queryable() + .Where(t => pushKingdeeOrder.Id == t.PushKingDeeOrderId) + .ToList(); + // 新建销售订单实例 + var order = new SaleOrder(); + // 赋值 + order.CreateTime = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd"); + order.OrderNo = pushKingdeeOrder.Id.ToString(); + order.CompanyId = string.Empty; // 公司Id + order.OrderType = pushKingdeeOrder.TradeType == 8 ? "8" : "4"; // 订单类型 + order.CustomerId = string.Empty; // 货主ID + order.WarehouseId = pushKingdeeOrder?.WarehouseId; + order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"); + order.Channel = string.Empty; // 下发系统 + order.ItemType = string.Empty; // 单据类型 + order.TotalQty = itemList.Sum(n => n.SellCount); + order.TotalMount = itemList.Sum(n => n.SellTotal); + order.CreateTime = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd"); + order.ReadTime = DateTime.Now.ToString("yyyy/MM/dd"); + order.Lines = itemList.Select(n => new Line() + { + OrderNo = pushKingdeeOrder.Id.ToString(), + CompanyId = string.Empty, // 公司Id + OrderType = pushKingdeeOrder.TradeType == 8 ? "8" : "4", // 订单类型 + LineNo = itemList.IndexOf(n) + 1, + CustomerId = string.Empty, // 货主ID + Sku = n.Barcode, + Barcode = n.Barcode, + OrderQty = n.SellCount, + OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10), + ItemId = n.GoodsId, // 商品 + }).ToArray(); - return string.Empty; + var uri = ""; + + var requestString = JsonHelper.ToJson(order, false, false, true); + var client = new RestClient($"{uri}/sale/order/return"); + client.Timeout = -1; + var request = new RestRequest(Method.POST); + request.AddHeader("Content-Type", "application/json"); + request.AddParameter("application/json", requestString, ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + + + + var resultString = string.Empty; + LogHelper.Info(resultString); + return resultString; } private string PushKingdeeSaleOrder(PushKingDeeOrder pushKingdeeOrder) @@ -206,7 +255,7 @@ namespace MyCode.Project.Services.Implementation FNUMBER = pushKingdeeOrder.TradeType == 8 ? "XSDD05_SYS" : "XSDD01_SYS" }, FOrdertype = pushKingdeeOrder.TradeType == 8 ? "8" : "4", - FDate = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd"), + FDate = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"), FSaleOrgId = new FSaleOrgId() { FNumber = "" // 固定组织 diff --git a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj index 108c7be..0082c00 100644 --- a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj +++ b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj @@ -74,6 +74,9 @@ False ..\Lib\Newtonsoft.Json.dll + + ..\packages\RestSharp.106.11.4\lib\net452\RestSharp.dll + diff --git a/Reportapi/MyCode.Project.Services/packages.config b/Reportapi/MyCode.Project.Services/packages.config index e0aa934..72bda0b 100644 --- a/Reportapi/MyCode.Project.Services/packages.config +++ b/Reportapi/MyCode.Project.Services/packages.config @@ -3,6 +3,7 @@ + diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config index 61860f3..ae34b8a 100644 --- a/Reportapi/MyCode.Project.WebApi/Web.config +++ b/Reportapi/MyCode.Project.WebApi/Web.config @@ -1,60 +1,60 @@ - + -
+
- - - - - - - + + + + + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - - - + + + @@ -152,84 +152,84 @@ --> - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + \ No newline at end of file