| | |
| | | proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode)) |
| | | .Includes(x => x.proStockInfoDetails) |
| | | .Where(x => x.proStockInfoDetails |
| | | .Any(x => x.SaleOrder == proOutOrderDetail.SaleOrder |
| | | && x.ProductCode == proOutOrderDetail.PCode |
| | | && x.ProductVersion == proOutOrderDetail.PVer |
| | | && (isCanLot ? x.LotNumber == proOutOrderDetail.PLot : true) |
| | | && (isCanDate ? x.DateCode == proOutOrderDetail.DateCode : true) |
| | | .Any(v => v.SaleOrder==proOutOrderDetail.SaleOrder |
| | | && v.ProductCode==proOutOrderDetail.PCode |
| | | && v.ProductVersion==proOutOrderDetail.PVer |
| | | && (isCanLot? v.LotNumber== proOutOrderDetail.PLot:true) |
| | | && (isCanDate ? v.DateCode == proOutOrderDetail.DateCode : true) |
| | | )) |
| | | .ToList(); |
| | | proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault().DateCode).ToList(); |
| | | |
| | | proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x=>x.proStockInfoDetails.Sum(x=>x.StockPcsQty)).ToList(); |
| | | return proStockInfos; |
| | | } |
| | | /// <summary> |
| | | /// 鑾峰彇MES鎻愬簱搴撳瓨 |
| | | /// </summary> |
| | | /// <param name="mesRworkOutboundOrder"></param> |
| | | /// <param name="locationInfos"></param> |
| | | /// <returns></returns> |
| | | public List<Dt_ProStockInfo> GetProStocks(Dt_MesRworkOutboundOrder mesRworkOutboundOrder, List<string> locationInfos) |
| | | { |
| | | List<Dt_ProStockInfo>? proStockInfos = null; |
| | | bool isCanDate = !string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode); |
| | | proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode)) |
| | | .Includes(x => x.proStockInfoDetails) |
| | | .Where(x => x.proStockInfoDetails |
| | | .Any(v => v.SaleOrder == mesRworkOutboundOrder.SaleOrder |
| | | && v.ProductCode == mesRworkOutboundOrder.ProductCode |
| | | && v.ProductVersion == mesRworkOutboundOrder.ProductVersion |
| | | && (isCanDate ? v.DateCode == mesRworkOutboundOrder.DateCode : true) |
| | | )) |
| | | .ToList(); |
| | | proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList(); |
| | | return proStockInfos; |
| | | } |
| | | } |