From 5ab6b36c0c4bd80a31dcdd9f15cc835b7352c4e7 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期四, 16 一月 2025 11:08:02 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 44 insertions(+), 7 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs" index 5f7d14d..3599250 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs" @@ -5,6 +5,7 @@ using System.Threading.Tasks; using WIDESEA_Common.StockEnum; using WIDESEA_Core; +using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; @@ -22,12 +23,13 @@ private readonly IRecordService _recordService; public IOutStockLockInfoRepository Repository => BaseDal; + public IUnitOfWorkManage _unitOfWorkManage; - - public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal, IStockService stockService, IRecordService recordService) : base(BaseDal) + public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal, IStockService stockService, IRecordService recordService, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) { _recordService = recordService; _stockService = stockService; + _unitOfWorkManage = unitOfWorkManage; } public List<Dt_OutStockLockInfo> GetOutStockLockInfos(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, List<Dt_StockInfo> outStocks, int? taskNum = null) @@ -66,7 +68,7 @@ PalletCode = outStock.PalletCode, AssignQuantity = assignQuantity, MaterielCode = outboundOrderDetail.MaterielCode, - BatchNo = outboundOrderDetail.BatchNo, + BatchNo = outboundOrderDetail.BatchNo ?? outStock.Details.FirstOrDefault()?.BatchNo, LocationCode = outStock.LocationCode, MaterielName = outboundOrderDetail.MaterielName, OrderDetailId = outboundOrderDetail.Id, @@ -76,15 +78,46 @@ Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(), StockId = outStock.Id, TaskNum = taskNum, - OrderQuantity = outboundOrderDetail.OrderQuantity + OrderQuantity = outboundOrderDetail.OrderQuantity, + Unit = outboundOrderDetail.Unit, }; return outStockLockInfo; } - public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus) + public Dt_OutStockLockInfo GetOutStockLockInfo(Dt_MesOutboundOrder mesOutboundOrder, Dt_StockInfo outStock, float assignQuantity, int? taskNum = null) { - return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && x.Status == outStockStatus.ObjToInt()); + + Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo() + { + PalletCode = outStock.PalletCode, + AssignQuantity = assignQuantity, + MaterielCode = mesOutboundOrder.MaterialCode, + BatchNo = outStock.Details.FirstOrDefault()?.BatchNo ?? "", + LocationCode = outStock.LocationCode, + MaterielName = mesOutboundOrder.MaterialName, + OrderDetailId = mesOutboundOrder.Id, + OrderNo = mesOutboundOrder.OrderNo, + OrderType = mesOutboundOrder.OrderType, + OriginalQuantity = outStock.Details.Where(x => x.MaterielCode == mesOutboundOrder.MaterialCode).Sum(x => x.StockQuantity), + Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(), + StockId = outStock.Id, + TaskNum = taskNum, + OrderQuantity = mesOutboundOrder.OrderQuantity, + Unit = mesOutboundOrder.Unit + }; + + return outStockLockInfo; + } + + public List<Dt_OutStockLockInfo> OutStockLockInfos(string OrderNo) + { + return BaseDal.QueryData(x => x.OrderNo == OrderNo); + } + + public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum? outStockStatus) + { + return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && outStockStatus == null ? true : x.Status == outStockStatus.ObjToInt()); } public List<Dt_OutStockLockInfo> GetStockOutboundOrder(SaveModel saveModel) @@ -94,6 +127,10 @@ var palletCode = saveModel.MainData["barcode"].ToString(); var warehouseId = saveModel.MainData["warehouseId"].ObjToInt(); Dt_StockInfo stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode && x.WarehouseId == warehouseId).Includes(x => x.Details).First(); + if (stockInfo.StockStatus != StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt()) + { + throw new Exception($"璇ユ墭鐩樿繕鏈嚭搴撳畬鎴�"); + } if (stockInfo == null) { throw new Exception($"鏈壘鍒板簱瀛樹俊鎭�"); @@ -103,7 +140,7 @@ { throw new Exception($"鏈壘鍒板簱瀛樿鎯�"); } - List<Dt_OutStockLockInfo> stockLockInfos = BaseDal.QueryData(x => x.StockId == stockInfo.Id&&x.Status< OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt()); + List<Dt_OutStockLockInfo> stockLockInfos = BaseDal.QueryData(x => x.StockId == stockInfo.Id && x.Status == OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt()); return stockLockInfos; } catch (Exception ex) -- Gitblit v1.9.3