From 0a4224dbd27287ee2c79f832149e5222914d7ad4 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期日, 22 十二月 2024 13:35:06 +0800 Subject: [PATCH] 更新代码 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 42 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 38 insertions(+), 4 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" index edff987..26ac858 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" @@ -8,7 +8,9 @@ using System.Text; using System.Threading.Tasks; using WIDESEA_Common.OrderEnum; +using WIDESEA_Common.StockEnum; using WIDESEA_Core; +using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; @@ -19,6 +21,7 @@ using WIDESEA_IBasicService; using WIDESEA_IOutboundRepository; using WIDESEA_IOutboundService; +using WIDESEA_IStockRepository; using WIDESEA_IStockService; using WIDESEA_Model.Models; @@ -27,18 +30,22 @@ public class OutboundOrderService : ServiceBase<Dt_OutboundOrder, IOutboundOrderRepository>, IOutboundOrderService { private readonly IMapper _mapper; + private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly IBasicService _basicService; private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository; private readonly IStockInfoService _stockInfoService; - + private readonly IStockInfoRepository _stockInfoRepository; public IOutboundOrderRepository Repository => BaseDal; - public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService) : base(BaseDal) + public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper,IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService, + IStockInfoRepository stockInfoRepository) : base(BaseDal) { _mapper = mapper; + _unitOfWorkManage=unitOfWorkManage; _basicService = basicService; _outboundOrderDetailRepository = outboundOrderDetailRepository; _stockInfoService = stockInfoService; + _stockInfoRepository= stockInfoRepository; } public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model) @@ -73,6 +80,7 @@ } else { + Dt_StockInfo? stockInfo = null; Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail() { RowNo = Convert.ToInt32(model.RowNo), @@ -83,8 +91,20 @@ OrderQuantity = model.Qty, OrderId = oldOutboundOrder.Id }; - + //ERP涓婁紶娴嬭瘯浠撻鏂欏崟鏇存柊瀵瑰簲搴撳瓨鐘舵�� + if (warehouse.WarehouseId == 1) + { + //鑾峰彇鍑哄簱鍗曞簱瀛� + stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).Where(x => x.Details.Any(x => x.MaterielCode == model.MCode && x.BatchNo == model.MLot && x.InboundOrderRowNo == Convert.ToInt32(model.RowNo))).First(); + stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt(); + } + _unitOfWorkManage.BeginTran(); + if (stockInfo != null) + { + _stockInfoRepository.UpdateData(stockInfo); + } _outboundOrderDetailRepository.AddData(outboundOrderDetail); + _unitOfWorkManage.CommitTran(); } } else @@ -108,8 +128,21 @@ WarehouseId = warehouse.WarehouseId, Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail } }; - + Dt_StockInfo? stockInfo = null; + //ERP涓婁紶娴嬭瘯浠撻鏂欏崟鏇存柊瀵瑰簲搴撳瓨鐘舵�� + if (warehouse.WarehouseId==1) + { + //鑾峰彇鍑哄簱鍗曞簱瀛� + stockInfo = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).Where(x => x.Details.Any(x => x.MaterielCode == model.MCode && x.BatchNo == model.MLot && x.InboundOrderRowNo == Convert.ToInt32(model.RowNo))).First(); + stockInfo.StockStatus=StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt(); + } + _unitOfWorkManage.BeginTran(); + if (stockInfo!=null) + { + _stockInfoRepository.UpdateData(stockInfo); + } Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand(); + _unitOfWorkManage.CommitTran(); } } else if (model.Way == 2) @@ -151,6 +184,7 @@ } catch (Exception ex) { + _unitOfWorkManage.RollbackTran(); return WebResponseContent.Instance.Error(ex.Message); } } -- Gitblit v1.9.3