From 134c3bdfe843aee9db40311906cf44cf71a794b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=96=8C?= <1324361213@qq.com> Date: Mon, 21 Jul 2025 17:54:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9EWMS=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Message/Response/WMS/WMSResponse.cs | 16 +++++++ .../Model/YTKJTShopParameter.cs | 2 +- .../MyCode.Project.Domain.csproj | 1 + .../Implementation/OrderPushService.cs | 48 ++++++++++++------- 4 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 Reportapi/MyCode.Project.Domain/Message/Response/WMS/WMSResponse.cs diff --git a/Reportapi/MyCode.Project.Domain/Message/Response/WMS/WMSResponse.cs b/Reportapi/MyCode.Project.Domain/Message/Response/WMS/WMSResponse.cs new file mode 100644 index 0000000..c8cfa10 --- /dev/null +++ b/Reportapi/MyCode.Project.Domain/Message/Response/WMS/WMSResponse.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MyCode.Project.Domain.Message.Response.WMS +{ + public class WMSResponse + { + public int Code { get; set; } + public string Message { get; set; } + public Dictionary Value { get; set; } + public int View { get; set; } + } +} diff --git a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs index a05008e..26d7b0e 100644 --- a/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs +++ b/Reportapi/MyCode.Project.Domain/Model/YTKJTShopParameter.cs @@ -204,7 +204,7 @@ namespace MyCode.Project.Domain.Model /// Nullable:True /// [SugarColumn(ColumnName = "F_SALE_ORGID")] - public long? FSaleOrgId { get; set; } + public int? FSaleOrgId { get; set; } } } diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj index a6e50c6..42732d3 100644 --- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj +++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj @@ -92,6 +92,7 @@ + diff --git a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs index cc1cc1e..6b3a3c9 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs @@ -2,6 +2,8 @@ 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.Message.Response.KingDee.K3Result; +using MyCode.Project.Domain.Message.Response.WMS; using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Repositories; using MyCode.Project.Infrastructure.Common; @@ -192,12 +194,17 @@ namespace MyCode.Project.Services.Implementation else if (param.FSYNCHRONIZEWMS == "1") { //wms - PushWMSSaleOrder(orderHead, param); + var result = PushWMSSaleOrder(orderHead, param); + if (result.Code == 200) + { + orderHead.Status = 2; + _pushKingDeeOrderRepository.Update(orderHead); + } } } - private string PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param) + private WMSResponse PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param) { var itemList = _pushKingDeeOrderItemRepository .Queryable() @@ -206,48 +213,54 @@ namespace MyCode.Project.Services.Implementation // 新建销售订单实例 var order = new SaleOrder(); // 赋值 - order.CreateTime = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd"); + order.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + order.OrderTime = pushKingdeeOrder.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"); order.OrderNo = pushKingdeeOrder.Id.ToString(); order.CompanyId = param.FCOMPANYID; // 公司Id order.OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4"; // 订单类型 order.CustomerId = param.FCANGKUHUOZHU; // 货主ID order.WarehouseId = pushKingdeeOrder?.WarehouseId; - order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"); + order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy-MM-dd HH:mm:ss"); order.Channel = "K3Cloud"; // 下发系统 order.ItemType = pushKingdeeOrder.TradeType == 8 ? "退货订单" : "标准销售订单"; // 单据类型 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.ReadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + order.CustAccount = param.FSALESCUSTOMERS.ToString(); order.Lines = itemList.Select(n => new Line() { OrderNo = pushKingdeeOrder.Id.ToString(), - CompanyId = string.Empty, // 公司Id - OrderType = pushKingdeeOrder.TradeType == 8 ? "8" : "4", // 订单类型 + CompanyId = param.FCOMPANYID, // 公司Id + OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4", // 订单类型 LineNo = itemList.IndexOf(n) + 1, - CustomerId = string.Empty, // 货主ID + CustomerId = param.FCANGKUHUOZHU, // 货主ID Sku = n.Barcode, Barcode = n.Barcode, OrderQty = n.SellCount, OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10), ItemId = n.GoodsId, // 商品 + LocationId = param.FWAREHOUSECODE, + CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + OrderUnit = "pcs" }).ToArray(); var uri = "http://172.16.42.45:9000"; - var requestString = JsonHelper.ToJson(order, false, false, true); - var client = new RestClient($"{uri}/sale/order/return"); + var requestString = JsonHelper.ToJson(order, false, true, true); + var client = new RestClient($"{uri}/sale/order/out"); 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; + var resultContent = response.Content; + var result = JsonHelper.ToObject(resultContent); + if (result.Code != 200) + { + throw new Exception("推送WMS发生错误:" + resultContent); + } + LogHelper.Info(resultContent); + return result; } /// @@ -287,6 +300,7 @@ namespace MyCode.Project.Services.Implementation FDate = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"), FSaleOrgId = new FSaleOrgId() { + //FOrgId = param.FCOMPANYID // 销售组织 FOrgId = param.FSaleOrgId.ToString() // 销售组织 }, FCustId = new FCustomerId() From 447092fa3bd604c8782232d08716fcad269237cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=96=8C?= <1324361213@qq.com> Date: Mon, 21 Jul 2025 17:59:50 +0800 Subject: [PATCH 2/2] 0 --- .../Implementation/OrderPushService.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs index dbe3808..b3f9103 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/OrderPushService.cs @@ -216,7 +216,8 @@ namespace MyCode.Project.Services.Implementation order.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); order.OrderTime = pushKingdeeOrder.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"); order.OrderNo = pushKingdeeOrder.Id.ToString(); - order.CompanyId = param.FCOMPANYID; // 公司Id + //order.CompanyId = param.FCOMPANYID; // 公司Id + order.CompanyId = "TZ"; // 公司Id order.OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4"; // 订单类型 order.CustomerId = param.FCANGKUHUOZHU; // 货主ID order.WarehouseId = pushKingdeeOrder?.WarehouseId; @@ -230,7 +231,8 @@ namespace MyCode.Project.Services.Implementation order.Lines = itemList.Select(n => new Line() { OrderNo = pushKingdeeOrder.Id.ToString(), - CompanyId = param.FCOMPANYID, // 公司Id + //CompanyId = param.FCOMPANYID, // 公司Id + CompanyId = "TZ", // 公司Id OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4", // 订单类型 LineNo = itemList.IndexOf(n) + 1, CustomerId = param.FCANGKUHUOZHU, // 货主ID