helongyang
2026-03-31 8fcd7a67e4391a5f1fbdb590c2a3f913aeb2a0a0
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs
@@ -52,7 +52,10 @@
                    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
                    TaskNum = taskNum,
                    ProductionDate = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.ProductionDate,
                    EffectiveDate = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.EffectiveDate
                };
                outStockLockInfos.Add(outStockLockInfo);
            }
@@ -80,6 +83,8 @@
                TaskNum = taskNum,
                OrderQuantity = outboundOrderDetail.OrderQuantity,
                Unit = outboundOrderDetail.Unit,
                ProductionDate = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.ProductionDate,
                EffectiveDate = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).FirstOrDefault()?.EffectiveDate
            };
            return outStockLockInfo;
@@ -111,7 +116,10 @@
                StockId = outStock.Id,
                TaskNum = taskNum,
                OrderQuantity = mesOutboundOrder.OrderQuantity,
                Unit = mesOutboundOrder.Unit
                Unit = mesOutboundOrder.Unit,
                ProductionDate = outStock.Details.Where(x => x.MaterielCode == mesOutboundOrder.MaterialCode).FirstOrDefault()?.ProductionDate,
                EffectiveDate = outStock.Details.Where(x => x.MaterielCode == mesOutboundOrder.MaterialCode).FirstOrDefault()?.EffectiveDate
            };
            return outStockLockInfo;
@@ -124,6 +132,34 @@
        /// <param name="assignQuantity"></param>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        public Dt_OutStockLockInfo GetOutStockLockInfos(Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder, Dt_MesPPCutOutboundOrderDetail mesPPCutOutboundOrderDetail, Dt_StockInfo outStock, int? taskNum = null)
        {
                Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
                {
                    PalletCode = outStock.PalletCode,
                    AssignQuantity = outStock.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).Sum(x => x.OutboundQuantity),
                    MaterielCode = mesPPCutOutboundOrderDetail.MaterialCode,
                    BatchNo = outStock.Details.FirstOrDefault().BatchNo,
                    LocationCode = outStock.LocationCode,
                    MaterielName = mesPPCutOutboundOrderDetail.MaterialName,
                    OrderDetailId = mesPPCutOutboundOrderDetail.Id,
                    OrderNo = mesPPCutOutboundOrder.OrderNo,
                    OrderType = mesPPCutOutboundOrder.OrderType,
                    OriginalQuantity = outStock.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).Sum(x => x.StockQuantity),
                    Status = taskNum == null ? OutLockStockStatusEnum.已分配.ObjToInt() : OutLockStockStatusEnum.出库中.ObjToInt(),
                    StockId = outStock.Id,
                    TaskNum = taskNum,
                    OrderQuantity = mesPPCutOutboundOrderDetail.OrderQuantity,
                    Unit = mesPPCutOutboundOrderDetail.Unit,
                    ProductionDate = outStock.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).FirstOrDefault()?.ProductionDate,
                    EffectiveDate = outStock.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).FirstOrDefault()?.EffectiveDate
                };
            return outStockLockInfo;
        }
        public List<Dt_OutStockLockInfo> GetOutStockLockInfos(Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder, Dt_MesPPCutOutboundOrderDetail mesPPCutOutboundOrderDetail, List<Dt_StockInfo> outStock, int? taskNum = null)
        {
            List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
@@ -133,20 +169,22 @@
                Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
                {
                    PalletCode = item.PalletCode,
                    AssignQuantity = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity),
                    MaterielCode = mesPPCutOutboundOrderDetail.MaterielCode,
                    AssignQuantity = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).Sum(x => x.OutboundQuantity),
                    MaterielCode = mesPPCutOutboundOrderDetail.MaterialCode,
                    BatchNo = item.Details.FirstOrDefault().BatchNo,
                    LocationCode = item.LocationCode,
                    MaterielName = mesPPCutOutboundOrderDetail.MaterielName,
                    MaterielName = mesPPCutOutboundOrderDetail.MaterialName,
                    OrderDetailId = mesPPCutOutboundOrderDetail.Id,
                    OrderNo = mesPPCutOutboundOrder.OrderNo,
                    OrderType = mesPPCutOutboundOrder.OrderType,
                    OriginalQuantity = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity),
                    OriginalQuantity = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).Sum(x => x.StockQuantity),
                    Status = taskNum == null ? OutLockStockStatusEnum.已分配.ObjToInt() : OutLockStockStatusEnum.出库中.ObjToInt(),
                    StockId = item.Id,
                    TaskNum = taskNum,
                    OrderQuantity = mesPPCutOutboundOrderDetail.OrderQuantity,
                    Unit = mesPPCutOutboundOrderDetail.Unit
                    Unit = mesPPCutOutboundOrderDetail.Unit,
                    ProductionDate = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).FirstOrDefault()?.ProductionDate,
                    EffectiveDate = item.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetail.MaterialCode).FirstOrDefault()?.EffectiveDate
                };
                outStockLockInfos.Add(outStockLockInfo);
            }
@@ -173,7 +211,9 @@
                StockId = outStock.Id,
                TaskNum = taskNum,
                OrderQuantity = mesPPOutboundOrder.OrderQuantity,
                Unit = mesPPOutboundOrder.Unit
                Unit = mesPPOutboundOrder.Unit,
                ProductionDate = outStock.Details.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).FirstOrDefault()?.ProductionDate,
                EffectiveDate = outStock.Details.Where(x => x.MaterielCode == mesPPOutboundOrder.MaterialCode).FirstOrDefault()?.EffectiveDate
            };
            return outStockLockInfo;