From 5970654ffe72da8e5d747cec01d51c44a6a279bc Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Thu, 19 Jun 2025 14:22:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B8=E5=AF=B9=E9=BA=BB?= =?UTF-8?q?=E9=86=89=E5=8D=95=E6=97=B6=E4=BF=AE=E6=94=B9channelList?= =?UTF-8?q?=E7=8A=B6=E6=80=81=20=E6=9B=BF=E6=8D=A2=E8=8D=AF=E7=AE=B1bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DM_Weight/Models/MachineRecord.cs | 2 +- .../BindBoxPackageWindowViewModel.cs | 43 ++++++++++++++----- .../ViewModels/CheckStockWindowViewModel.cs | 10 ++--- .../ViewModels/ExchangeDialogViewModel.cs | 18 ++++---- 4 files changed, 49 insertions(+), 24 deletions(-) diff --git a/DM_Weight/Models/MachineRecord.cs b/DM_Weight/Models/MachineRecord.cs index 51c90d7..250acde 100644 --- a/DM_Weight/Models/MachineRecord.cs +++ b/DM_Weight/Models/MachineRecord.cs @@ -73,7 +73,7 @@ namespace DM_Weight.Models [SugarColumn(ColumnName = "eff_date")] public DateTime? EffDate { get; set; } /// - /// 出库入库类型(1入库2出库31还药32还空瓶,21药箱移出移入,69药箱替换) + /// 出库入库类型(1入库2出库31还药32还空瓶,21药箱移出移入,69药箱替换,55绑定药品操作(绑定、解绑、修改基数)) /// [SugarColumn(ColumnName = "type")] public int Type { get; set; } diff --git a/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs b/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs index 55c1bd6..737fd54 100644 --- a/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs +++ b/DM_Weight/ViewModels/BindBoxPackageWindowViewModel.cs @@ -66,8 +66,18 @@ namespace DM_Weight.ViewModels { if (value != null) { - DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First(); - BaseQuantity = value.BaseQuantity.ToString(); + try + { + DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First(); + BaseQuantity = value.BaseQuantity.ToString(); + + } + catch (Exception ex) + { + RequestDrug(); + DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First(); + BaseQuantity = value.BaseQuantity.ToString(); + } //DrugManuNo = DrugManuNos.Where(dm => dm.DrugId == value.DrugId && dm.ManuNo == value.ManuNo).First(); } SetProperty(ref _channelList, value); @@ -264,7 +274,7 @@ namespace DM_Weight.ViewModels SnackbarMessageQueue.Enqueue("药品基数请输入正确的整数"); return; } - if (_ChannelList != null) + if (_ChannelLists != null) { int iNum = _ChannelLists.Where(cs => cs.DrugId == DrugInfo.DrugId.ToString()).Count(); if (iNum > 0) @@ -289,11 +299,12 @@ namespace DM_Weight.ViewModels { Id = chnguid, DrawerNo = (DrawerNo + 1), - ColNo=(colNoCount+1), + ColNo = (colNoCount + 1), DrugId = DrugInfo.DrugId, BaseQuantity = baseQuantity, MachineId = "DM5", - DrawerType=1 + DrawerType = 1, + State = 0 }).ExecuteCommand(); SqlSugarHelper.Db.Insertable(new ChannelStock() { @@ -365,7 +376,7 @@ namespace DM_Weight.ViewModels } if (_ChannelList != null) { - if(_channelList.channelStocks.Where(cs=>cs.Quantity>0).Count() > 0) + if (_channelList.channelStocks.Where(cs => cs.Quantity > 0).Count() > 0) { SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c")); SnackbarMessageQueue.Enqueue("药品还有库存不能操作解绑"); @@ -450,19 +461,31 @@ namespace DM_Weight.ViewModels { _ChannelList.channelStocks[0].NeedNum = 0; } + int oldBaseQty = _ChannelList.BaseQuantity; _ChannelList.BaseQuantity = baseQty; //_ChannelList.channelStocks[0].BaseQuantity = baseQty; //int iUpdate = SqlSugarHelper.Db.Updateable(_ChannelList.channelStocks[0]).ExecuteCommand(); - _ChannelList.channelStocks.ForEach(cs=>cs.BaseQuantity= baseQty); - int iBaseUpdate= SqlSugarHelper.Db.Updateable(_ChannelList.channelStocks).UpdateColumns(cs => cs.BaseQuantity).ExecuteCommand(); - + _ChannelList.channelStocks.ForEach(cs => cs.BaseQuantity = baseQty); + int iBaseUpdate = SqlSugarHelper.Db.Updateable(_ChannelList.channelStocks).UpdateColumns(cs => new { cs.BaseQuantity, cs.NeedNum }).ExecuteCommand(); + //更新ChannelList表中的BaseQuantity int iUpdateChannelList = SqlSugarHelper.Db.Updateable() .SetColumns(it => new ChannelList() { BaseQuantity = baseQty }) .Where(it => it.Id == _ChannelList.Id).ExecuteCommand(); if (iBaseUpdate > 0 && iUpdateChannelList > 0) { - + //保存操作记录 + SqlSugarHelper.Db.Insertable(new MachineRecord() + { + MachineId = "DM5", + DrawerNo = _ChannelList.DrawerNo, + DrugId = _ChannelList.DrugId, + Operator = HomeWindowViewModel.Operator?.Id, + OperationTime = DateTime.Now, + Quantity = _ChannelList.channelStocks[0].NeedNum, + Type = 55, + InvoiceId = $"修改药品基数{oldBaseQty}改为{baseQty},Quantity值为需要加药数量", + }).ExecuteCommand(); SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676")); SnackbarMessageQueue.Enqueue("保存修改完成!"); RequestData(); diff --git a/DM_Weight/ViewModels/CheckStockWindowViewModel.cs b/DM_Weight/ViewModels/CheckStockWindowViewModel.cs index b041f63..a0ea27c 100644 --- a/DM_Weight/ViewModels/CheckStockWindowViewModel.cs +++ b/DM_Weight/ViewModels/CheckStockWindowViewModel.cs @@ -171,11 +171,11 @@ namespace DM_Weight.ViewModels AddToJJNum=0 }).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate,it.NeedNum,it.AddToJJNum }).ExecuteCommand(); - //SqlSugarHelper.Db.Updateable(new ChannelList() - //{ - // State=0, - // Id=it.Chnguid - //}).UpdateColumns(cl => new { cl.State }).ExecuteCommand(); + SqlSugarHelper.Db.Updateable(new ChannelList() + { + State = 0, + Id = it.Chnguid + }).UpdateColumns(cl => new { cl.State }).ExecuteCommand(); // 保存数据 盘点记录 SqlSugarHelper.Db.Insertable(new MachineRecord() diff --git a/DM_Weight/ViewModels/ExchangeDialogViewModel.cs b/DM_Weight/ViewModels/ExchangeDialogViewModel.cs index 0f9465c..7457c11 100644 --- a/DM_Weight/ViewModels/ExchangeDialogViewModel.cs +++ b/DM_Weight/ViewModels/ExchangeDialogViewModel.cs @@ -328,13 +328,15 @@ namespace DM_Weight.ViewModels .Where(cs => cs.ManuNo.Equals(currentChannelStock.ManuNo)) .First(); //修改已替换的药品批次数量(现库存数-已替换总数) - _ChannelStock.Quantity = _ChannelStock.Quantity - sumQuantity; - SqlSugarHelper.Db.Updateable(_ChannelStock).UpdateColumns(it => new { it.Quantity }).ExecuteCommand(); - + if (_ChannelStock.Quantity > 0) + { + _ChannelStock.Quantity = _ChannelStock.Quantity - sumQuantity; + SqlSugarHelper.Db.Updateable(_ChannelStock).UpdateColumns(it => new { it.Quantity }).ExecuteCommand(); + } if (ReplaceChannelStockList != null) { //有该批次药品则更新 - csId = ReplaceChannelStockList.Id; + //csId = ReplaceChannelStockList.Id; ReplaceChannelStockList.Quantity = ReplaceChannelStockList.Quantity + currentChannelStock.TakeQuantity; SqlSugarHelper.Db.Updateable(ReplaceChannelStockList).UpdateColumns(it => new { it.Quantity }).ExecuteCommand(); @@ -348,14 +350,14 @@ namespace DM_Weight.ViewModels DrawerNo = _ChannelStock.DrawerNo, DrugId = _ChannelStock.DrugId, ManuNo = currentChannelStock.ManuNo, - EffDate=currentChannelStock.EffDate, + EffDate = currentChannelStock.EffDate, Quantity = currentChannelStock.TakeQuantity, DrawerType = 1, Chnguid = _ChannelStock.Chnguid, Id = csId, }).ExecuteCommand(); } - + string csToId = Guid.NewGuid().ToString(); // 保存数据 替换药记录 SqlSugarHelper.Db.Insertable(new MoveChannelStock() { @@ -394,13 +396,13 @@ namespace DM_Weight.ViewModels SqlSugarHelper.Db.Insertable(new ChannelStock() { MachineId = _ChannelStock.MachineId, - DrawerNo = _ChannelStock.DrawerNo, + DrawerNo = currentChannelStock.DrawerNo, DrugId = _ChannelStock.DrugId, ManuNo = _ChannelStock.ManuNo, Quantity = currentChannelStock.TakeQuantity, DrawerType = 1, Chnguid = currentChannelStock.Chnguid, - Id = csId, + Id = csToId, }).ExecuteCommand(); } }