110,538
社区成员
发帖
与我相关
我的任务
分享
var listStorageStock = (from productPackageInfo in listProductPackageInfo
join storageDetail in db.T_Warehouse_StorageDetail.AsNoTracking()
on productPackageInfo.F_PackageBarcode equals storageDetail.F_PackageBarcode
into joinPackageStorageDetail
from storageDetail in joinPackageStorageDetail.DefaultIfEmpty()
join storage in db.T_Warehouse_Storage.AsNoTracking()
on storageDetail.F_StorageID equals storage.F_ID
into joinStorageInfoDetail
from storage in joinStorageInfoDetail.DefaultIfEmpty()
where storage.F_WarehouseID == warehouseID
&& storageType.Contains(storage.F_Type)
select new
{
F_ProductArchiveID = productPackageInfo.F_ProductArchiveID,
F_ProductBarcode = productPackageInfo.F_ProductBarcode,
F_PackageBarcode = productPackageInfo.F_PackageBarcode,
F_BatchNumber = productPackageInfo.F_BatchNumber,
F_PackageDetailQuantity = productPackageInfo.F_PackageDetailQuantity,
F_PackageDetailOutQuantity = productPackageInfo.F_PackageDetailOutQuantity,
F_StoragDetailQuantity = storageDetail == null ? 0 : storageDetail.F_Quantity,
F_StorageID = storage == null ? string.Empty : storage.F_ID,
F_StorageCode = storage == null ? string.Empty : storage.F_Code,
F_StorageIndex = storage == null ? 3 : ( storage.F_Type == StorageType.备货.ToString() ? 1 : 2)
}).ToList();