From d6ce83b1f1bb87b88c11df1e0fe96169de5b571f Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期一, 16 十二月 2024 16:31:28 +0800 Subject: [PATCH] ERP接口调用开发 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" index ab95005..bca3a85 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" @@ -8,6 +8,9 @@ using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Helper; +using WIDESEA_External.ERPService; +using WIDESEA_External.Model; +using WIDESEA_IBasicRepository; using WIDESEA_ICheckRepository; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; @@ -19,11 +22,15 @@ { private readonly ICheckOrderRepository _checkOrderRepository; private readonly IInboundRepository _inboundRepository; + private readonly IBasicRepository _basicRepository; + private readonly IInvokeERPService _invokeERPService; - public ReceiveOrderService(IReceiveOrderRepository BaseDal, ICheckOrderRepository checkOrderRepository, IInboundRepository inboundRepository) : base(BaseDal) + public ReceiveOrderService(IReceiveOrderRepository BaseDal, ICheckOrderRepository checkOrderRepository, IInboundRepository inboundRepository, IBasicRepository basicRepository, IInvokeERPService invokeERPService) : base(BaseDal) { _checkOrderRepository = checkOrderRepository; _inboundRepository = inboundRepository; + _basicRepository = basicRepository; + _invokeERPService = invokeERPService; } public override WebResponseContent AddData(SaveModel saveModel) @@ -65,6 +72,74 @@ return base.AddData(saveModel); } + public WebResponseContent FeedbackReceiveOrder(int orderId) + { + try + { + Dt_ReceiveOrder receiveOrder = BaseDal.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderId == orderId).Includes(x => x.Details).First(); + if (receiveOrder == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒版敹璐у崟"); + } + if (receiveOrder.Details == null || receiveOrder.Details.Count == 0) + { + return WebResponseContent.Instance.Error($"鏈壘鍒版敹璐у崟鏄庣粏"); + } + + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == receiveOrder.WarehouseId); + if (warehouse == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�"); + } + + List<RecevieOrderDetailModel> recevieOrderDetails = new List<RecevieOrderDetailModel>(); + foreach (var item in receiveOrder.Details) + { + RecevieOrderDetailModel recevieOrderDetail = new RecevieOrderDetailModel() + { + Currcode = "", + IfInspection = item.IfInspection, + Lotno = item.LotNo, + MaterialsId = item.MaterielCode, + PriceInTax = 0, + PurchaseOrderCode = item.PurchaseOrderNo, + PurchaseOrderSerno = item.PurchaseOrderDetailRowNo, + QtyReceived = item.ReceivedQuantity, + Serno = item.RowNo, + Supplotno = "", + Taxrate = "" + }; + recevieOrderDetails.Add(recevieOrderDetail); + } + + ERPReceiveModel receiveModel = new ERPReceiveModel() + { + Code = receiveOrder.ReceiveOrderNo, + CompanyId = "", + DeliveryCode = receiveOrder.DeliveryCode, + CustomerId = receiveOrder.CustomerId, + CreatorId = receiveOrder.CustomerId, + EndDate = receiveOrder.CreateDate, + ReceiveDate = receiveOrder.CreateDate, + PlantsId = "", + SuppliersId = receiveOrder.SuppliersId, + Type = "PO", + UniqueTag = receiveOrder.ReceiveOrderId.ToString(), + WarehouseCode = warehouse.WarehouseCode, + Way = 1, + Details = recevieOrderDetails + }; + + string response = _invokeERPService.InvokeMatReceiveApi(receiveModel); + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + public WebResponseContent CreateInboundOrder(int receiveOrderId) { try -- Gitblit v1.9.3