diff --git a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs index 8292a9e..2779225 100644 --- a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs +++ b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs @@ -109,7 +109,7 @@ namespace DM_Weight.ViewModels set => SetProperty(ref _ordersList, value); } - private List? _totalDrugList; + private List? _totalDrugList=new List(); public List? TotalDrugList { get => _totalDrugList; @@ -152,7 +152,7 @@ namespace DM_Weight.ViewModels string currentDrawerUser = SqlSugarHelper.Db.Queryable().Where(cl => cl.DrawerNo == DrawerNo + 1 && cl.MachineId == "DM5").Select(cl => cl.BelongUser).First(); OrderInfoList = SqlSugarHelper.Db.Queryable() - .Includes(oi => oi._OrderDetail, od => od.DrugInfo) + .Includes(oi => oi.OrderDetailList, od => od.DrugInfo) //.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase) //.InnerJoin((oi, od) => oi.OrderNo == od.OrderNo) //.InnerJoin((oi, od, di) => od.DrugId == di.DrugId.ToString()) @@ -168,7 +168,9 @@ namespace DM_Weight.ViewModels if (OrderInfoList != null && OrderInfoList.Count() > 0) { OrderInfoList.ForEach(oi => oi.ItemIsChecked = true); - TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi._OrderDetail.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item._OrderDetail.Quantity) }).ToList(); + //TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi.OrderDetailList.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item.OrderDetailList.Quantity) }).ToList(); + TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).SelectMany(OrderDetailList => OrderDetailList.OrderDetailList).GroupBy(item=>item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList(); + } else { @@ -195,7 +197,10 @@ namespace DM_Weight.ViewModels }).ToList(); if (OrderInfoList != null && OrderInfoList.Count() > 0) { - TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi._OrderDetail.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item._OrderDetail.Quantity) }).ToList(); + //TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi._OrderDetail.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item._OrderDetail.Quantity) }).ToList(); + + TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).SelectMany(OrderDetailList => OrderDetailList.OrderDetailList).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList(); + } } }); diff --git a/DM_Weight/Views/CheckOrderNewWindow.xaml b/DM_Weight/Views/CheckOrderNewWindow.xaml index 4febf7e..a2dc6f5 100644 --- a/DM_Weight/Views/CheckOrderNewWindow.xaml +++ b/DM_Weight/Views/CheckOrderNewWindow.xaml @@ -99,7 +99,7 @@