|  |  |  | 
|---|
|  |  |  | .Where(x => x.proStockInfoDetails | 
|---|
|  |  |  | .Any(v => | 
|---|
|  |  |  | v.ProductCode == proOutOrderDetail.PCode | 
|---|
|  |  |  | && v.ProductVersion == proOutOrderDetail.PVer | 
|---|
|  |  |  | && (isCanLot ? isCanLot : v.BagNo == proOutOrderDetail.PLot) | 
|---|
|  |  |  | && v.ProductVersion.StartsWith(proOutOrderDetail.PVer.Substring(0,1)) | 
|---|
|  |  |  | && (isCanLot ? isCanLot : v.ProductCode == proOutOrderDetail.PLot) | 
|---|
|  |  |  | && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode) | 
|---|
|  |  |  | )) | 
|---|
|  |  |  | .ToList(); | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_ProStockInfo>? proStockInfos = null; | 
|---|
|  |  |  | bool isCanDate = string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode); | 
|---|
|  |  |  | proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute==ProStockAttributeEnum.å°¾æ°.ObjToInt()) | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | .Any(v => v.ProductCode == mesRworkOutboundOrder.ProductCode | 
|---|
|  |  |  | && v.ProductVersion == mesRworkOutboundOrder.ProductVersion | 
|---|
|  |  |  | && (isCanDate ? isCanDate : v.DateCode == mesRworkOutboundOrder.DateCode) | 
|---|
|  |  |  | )) | 
|---|
|  |  |  | 
|---|
|  |  |  | 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_ErpProScrapSheetDetail erpProScrapSheetDetail, List<string> locationInfos) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_ProStockInfo>? proStockInfos = null; | 
|---|
|  |  |  | proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute == ProStockAttributeEnum.æå.ObjToInt()) | 
|---|
|  |  |  | .Includes(x => x.proStockInfoDetails) | 
|---|
|  |  |  | .Where(x => x.proStockInfoDetails | 
|---|
|  |  |  | .Any(v => | 
|---|
|  |  |  | v.LotNumber == erpProScrapSheetDetail.ScrapProLotNo | 
|---|
|  |  |  | && v.ProductCode == erpProScrapSheetDetail.ScrapProCode | 
|---|
|  |  |  | && v.ProductVersion == erpProScrapSheetDetail.ScrapProVersion | 
|---|
|  |  |  | )) | 
|---|
|  |  |  | .ToList(); | 
|---|
|  |  |  | proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList(); | 
|---|
|  |  |  | return proStockInfos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|