From 4f5fb169d391d67b211ad698b9edb26c396b1c8a Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Fri, 10 Jan 2025 11:21:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=8D=AF=E5=93=81=E6=89=8B?= =?UTF-8?q?=E6=9C=AF=E9=97=B4=E5=8F=B7=E4=B8=8D=E5=AF=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=82=E6=A0=B8=E5=AF=B9=E8=8D=AF=E5=93=81?= =?UTF-8?q?=E5=A4=84=E6=96=B9=E4=B8=8E=E7=94=A8=E8=8D=AF=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=94=B9=E6=88=90=E4=B8=80=E5=AF=B9=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DM_Weight/App.config | 2 +- .../BindBoxPackageWindowViewModel.cs | 6 +- .../CheckOrderNewWindowViewModel.cs | 10 +++ .../CheckSelfOrderWindowViewModel.cs | 70 +++++++++++-------- DM_Weight/ViewModels/HomeWindowViewModel.cs | 11 +-- DM_Weight/Views/CheckSelfOrderWindow.xaml | 29 ++++---- DM_Weight/Views/HomeWindow.xaml | 6 +- 7 files changed, 78 insertions(+), 56 deletions(-) diff --git a/DM_Weight/App.config b/DM_Weight/App.config index 3969b3e..8ee3593 100644 --- a/DM_Weight/App.config +++ b/DM_Weight/App.config @@ -37,7 +37,7 @@ - + diff --git a/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs b/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs index 26d112d..c09c36f 100644 --- a/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs +++ b/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs @@ -215,11 +215,11 @@ namespace DM_Weight.ViewModels } var f = SqlSugarHelper.Db.UseTran(() => { - string chnguid = SqlSugarHelper.Db.Queryable().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo).Select(cs => cs.Id).First(); + string chnguid = SqlSugarHelper.Db.Queryable().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo+1).Select(cs => cs.Id).First(); SqlSugarHelper.Db.Insertable(new ChannelStock() { Chnguid = chnguid, - DrawerNo = DrawerNo, + DrawerNo = DrawerNo+ 1, DrugId = DrugInfo.DrugId.ToString(), BaseQuantity = baseQuantity, Id = Guid.NewGuid().ToString(), @@ -231,7 +231,7 @@ namespace DM_Weight.ViewModels SqlSugarHelper.Db.Insertable(new MachineRecord() { MachineId = "DM5", - DrawerNo = DrawerNo, + DrawerNo = DrawerNo+1, DrugId = DrugInfo.DrugId.ToString(), Operator = HomeWindowViewModel.Operator?.Id, OperationTime = DateTime.Now, diff --git a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs index ad3d99c..b129051 100644 --- a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs +++ b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs @@ -439,6 +439,16 @@ namespace DM_Weight.ViewModels { get => new DelegateCommand(() => { + if (DrawerNo == -1) + { + AlertMsg alertMsg = new AlertMsg + { + Message = "请先选择手术间", + Type = MsgType.ERROR, + }; + _eventAggregator.GetEvent().Publish(alertMsg); + return; + } CheckOrderAction(); }); } diff --git a/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs b/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs index 824fe41..a2c752e 100644 --- a/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs +++ b/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs @@ -568,8 +568,8 @@ namespace DM_Weight.ViewModels //string currentDrawerUser = currentList.BelongUser; string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode; OrderInfoList = SqlSugarHelper.Db.Queryable() - .Includes(oi => oi.OrderDetailList, od => od.DrugInfo) - .Includes(oi => oi.OrderDetailList, od => od.surgicalResidual) + .Includes(oi => oi._OrderDetail, od => od.DrugInfo) + .Includes(oi => oi._OrderDetail, od => od.surgicalResidual) //.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()) @@ -600,11 +600,9 @@ namespace DM_Weight.ViewModels if (OrderInfoList != null && OrderInfoList.Count() > 0) { OrderInfoList.ForEach(oi => oi.ItemIsChecked = true); - OrderInfoList.ForEach(oi => oi.OrderDetailList.ForEach(od => od.DrugInfo = od.DrugInfo ?? new DrugInfo())); - + OrderInfoList.ForEach(oi => oi._OrderDetail.DrugInfo = oi._OrderDetail.DrugInfo ?? new DrugInfo()); //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(); - + TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList(); } else { @@ -707,33 +705,33 @@ namespace DM_Weight.ViewModels // } //} //查询当前药师下所有的待确认的单子 - string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode; - OrderInfoList = SqlSugarHelper.Db.Queryable() - .Includes(oi => oi.OrderDetailList, od => od.DrugInfo) - .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate) - .WhereIF(!String.IsNullOrEmpty(ConfigurationManager.AppSettings["storage"]), oi => oi.Pharmacy == ConfigurationManager.AppSettings["storage"]) - .Where(oi => oi.DmStatus == 0) - .Where(oi => oi.HisDispFlag == 0) - .Where(oi => oi.CancelFlag == 0) - .Where(oi => oi.DoctorCode == currentDrawerUser) - .OrderBy(oi => oi.OrderId) - .ToPageList(PageNum, PageSize, ref totalCount); + //string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode; + //OrderInfoList = SqlSugarHelper.Db.Queryable() + // .Includes(oi => oi._OrderDetail, od => od.DrugInfo) + // .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate) + // .WhereIF(!String.IsNullOrEmpty(ConfigurationManager.AppSettings["storage"]), oi => oi.Pharmacy == ConfigurationManager.AppSettings["storage"]) + // .Where(oi => oi.DmStatus == 0) + // .Where(oi => oi.HisDispFlag == 0) + // .Where(oi => oi.CancelFlag == 0) + // .Where(oi => oi.DoctorCode == currentDrawerUser) + // .OrderBy(oi => oi.OrderId) + // .ToPageList(PageNum, PageSize, ref totalCount); - if (OrderInfoList != null && OrderInfoList.Count() > 0) - { - OrderInfoList.ForEach(oi => oi.ItemIsChecked = true); - OrderInfoList.ForEach(oi => oi.OrderDetailList.ForEach(od => od.DrugInfo = od.DrugInfo ?? new DrugInfo())); - //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(); + //if (OrderInfoList != null && OrderInfoList.Count() > 0) + //{ + // OrderInfoList.ForEach(oi => oi.ItemIsChecked = true); + // OrderInfoList.ForEach(oi => oi._OrderDetail.DrugInfo = oi._OrderDetail.DrugInfo ?? new DrugInfo()); + // //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).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList(); - } - else - { - TotalDrugList = null; - } + //} + //else + //{ + // TotalDrugList = null; + //} - TotalCount = totalCount; - PageCount = (int)Math.Ceiling((double)TotalCount / PageSize); + //TotalCount = totalCount; + //PageCount = (int)Math.Ceiling((double)TotalCount / PageSize); } } @@ -998,7 +996,7 @@ namespace DM_Weight.ViewModels { //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(); + TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList(); } } @@ -1017,6 +1015,16 @@ namespace DM_Weight.ViewModels { get => new DelegateCommand(() => { + if(DrawerNo==-1) + { + AlertMsg alertMsg = new AlertMsg + { + Message = "请先选择手术间", + Type = MsgType.ERROR, + }; + _eventAggregator.GetEvent().Publish(alertMsg); + return; + } GetUseBox(); CheckOrderAction(); }); diff --git a/DM_Weight/ViewModels/HomeWindowViewModel.cs b/DM_Weight/ViewModels/HomeWindowViewModel.cs index 2a479b7..6e14f23 100644 --- a/DM_Weight/ViewModels/HomeWindowViewModel.cs +++ b/DM_Weight/ViewModels/HomeWindowViewModel.cs @@ -268,6 +268,7 @@ namespace DM_Weight.ViewModels if (!_socketHelper.OpenStatus) { SetProperty(ref _selectedMenu, value); + SelectionMethod();//在此处调用而不是通过前台的Triggers事件调用为了规避未关闭药箱时多次点击菜单不起作用 } else { @@ -279,11 +280,11 @@ namespace DM_Weight.ViewModels } } //PremissionDm? PreSelectedMenu; - private DelegateCommand _selectionCommon; - public DelegateCommand SelectionCommon - { - get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod)); - } + //private DelegateCommand _selectionCommon; + //public DelegateCommand SelectionCommon + //{ + // get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod)); + //} private void SelectionMethod() { //SelectedMenu = viewName.SelectedItem as PremissionDm; diff --git a/DM_Weight/Views/CheckSelfOrderWindow.xaml b/DM_Weight/Views/CheckSelfOrderWindow.xaml index 4c4e524..346365f 100644 --- a/DM_Weight/Views/CheckSelfOrderWindow.xaml +++ b/DM_Weight/Views/CheckSelfOrderWindow.xaml @@ -184,23 +184,26 @@ - - + Header="数量"/> + + + - + + @@ -263,7 +266,7 @@ - + --> diff --git a/DM_Weight/Views/HomeWindow.xaml b/DM_Weight/Views/HomeWindow.xaml index 4e0b865..155f5f3 100644 --- a/DM_Weight/Views/HomeWindow.xaml +++ b/DM_Weight/Views/HomeWindow.xaml @@ -27,12 +27,12 @@ - - + +