From 18d1f45193e34e00fc1b6f65b8596ddb29c5267d Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 24 十二月 2024 15:32:43 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 1 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 2c0c087..5f7d14d 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" @@ -4,20 +4,112 @@ using System.Text; using System.Threading.Tasks; using WIDESEA_Common.StockEnum; +using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_IOutboundRepository; +using WIDESEA_IRecordService; +using WIDESEA_IStockService; using WIDESEA_Model.Models; namespace WIDESEA_IOutboundService { public partial class OutStockLockInfoService : ServiceBase<Dt_OutStockLockInfo, IOutStockLockInfoRepository>, IOutStockLockInfoService { + + private readonly IStockService _stockService; + private readonly IRecordService _recordService; + public IOutStockLockInfoRepository Repository => BaseDal; - public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal) : base(BaseDal) + + public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal, IStockService stockService, IRecordService recordService) : base(BaseDal) { + _recordService = recordService; + _stockService = stockService; + } + + public List<Dt_OutStockLockInfo> GetOutStockLockInfos(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, List<Dt_StockInfo> outStocks, int? taskNum = null) + { + List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>(); + + foreach (var item in outStocks) + { + Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo() + { + PalletCode = item.PalletCode, + AssignQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity), + MaterielCode = outboundOrderDetail.MaterielCode, + BatchNo = outboundOrderDetail.BatchNo, + LocationCode = item.LocationCode, + MaterielName = outboundOrderDetail.MaterielName, + OrderDetailId = outboundOrderDetail.Id, + OrderNo = outboundOrder.OrderNo, + OrderType = outboundOrder.OrderType, + OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity), + Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(), + StockId = item.Id, + TaskNum = taskNum + }; + outStockLockInfos.Add(outStockLockInfo); + } + + return outStockLockInfos; + } + + public Dt_OutStockLockInfo GetOutStockLockInfo(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, float assignQuantity, int? taskNum = null) + { + + Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo() + { + PalletCode = outStock.PalletCode, + AssignQuantity = assignQuantity, + MaterielCode = outboundOrderDetail.MaterielCode, + BatchNo = outboundOrderDetail.BatchNo, + LocationCode = outStock.LocationCode, + MaterielName = outboundOrderDetail.MaterielName, + OrderDetailId = outboundOrderDetail.Id, + OrderNo = outboundOrder.OrderNo, + OrderType = outboundOrder.OrderType, + OriginalQuantity = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity), + Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(), + StockId = outStock.Id, + TaskNum = taskNum, + OrderQuantity = outboundOrderDetail.OrderQuantity + }; + + return outStockLockInfo; + } + + public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus) + { + return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && x.Status == outStockStatus.ObjToInt()); + } + + public List<Dt_OutStockLockInfo> GetStockOutboundOrder(SaveModel saveModel) + { + try + { + 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 == null) + { + throw new Exception($"鏈壘鍒板簱瀛樹俊鎭�"); + } + Dt_StockInfoDetail stockInfoDetail = stockInfo.Details.FirstOrDefault(); + if (stockInfoDetail == null) + { + throw new Exception($"鏈壘鍒板簱瀛樿鎯�"); + } + List<Dt_OutStockLockInfo> stockLockInfos = BaseDal.QueryData(x => x.StockId == stockInfo.Id&&x.Status< OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt()); + return stockLockInfos; + } + catch (Exception ex) + { + return null; + } } } } -- Gitblit v1.9.3