From b58309a583ab4226213b6f116b4293eb727ea885 Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Mon, 6 Jan 2025 09:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E6=8E=A5=E6=9F=9C=E5=8A=A0=E8=8D=AF?= =?UTF-8?q?=E6=9C=89=E8=AF=A5=E6=89=B9=E6=AC=A1=E5=88=99=E6=9B=B4=E6=96=B0?= =?UTF-8?q?;=E5=BA=93=E5=AD=98=E5=88=97=E8=A1=A8=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=BA=A4=E6=8E=A5=E6=9F=9C=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/AddToJiaoJieDialogViewModel.cs | 84 ++++++++++++------- .../ViewModels/StockListWindowViewModel.cs | 4 +- 2 files changed, 54 insertions(+), 34 deletions(-) diff --git a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs index 2f8da68..f30129c 100644 --- a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs +++ b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs @@ -40,8 +40,10 @@ namespace DM_Weight.ViewModels get => _jiaojie_channelStocks; set => SetProperty(ref _jiaojie_channelStocks, value); } - + //交接柜中无该批次添加实体 public List AddJJStock = new List(); + //交接柜中有该批次更新实体 + public List UpdateJJStock = new List(); /// /// 交接柜的库位信息 /// @@ -417,25 +419,25 @@ namespace DM_Weight.ViewModels .Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First(); if (jjStockManuNo != null) { + int addNum = csStock.TakeQuantity; //有该批次 if (jiaoStock.NeedNum > csStock.TakeQuantity) { //不够取 ChannelStock newStock = new ChannelStock(); - - newStock.Chnguid = jiaoStock.Chnguid; - newStock.BaseQuantity = jiaoStock.BaseQuantity; + //newStock.Chnguid = jiaoStock.Chnguid; + //newStock.BaseQuantity = jiaoStock.BaseQuantity; newStock.ManuNo = jiaoStock.ManuNo; newStock.DrawerNo = jiaoStock.DrawerNo; newStock.DrugId = jiaoStock.DrugId; - newStock.AddToJJNum = csStock.TakeQuantity; - newStock.Id = Guid.NewGuid().ToString(); - newStock.MachineId = jiaoStock.MachineId; - newStock.Id = Guid.NewGuid().ToString(); - newStock.NeedNum = 0; - AddJJStock.Add(newStock); + newStock.AddToJJNum = addNum; + newStock.Id = jjStockManuNo.Id; + //newStock.MachineId = jiaoStock.MachineId; + //newStock.NeedNum = 0; + //newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity; + UpdateJJStock.Add(newStock); csStock.TakeQuantity = 0; - jiaoStock.NeedNum = jiaoStock.NeedNum- csStock.TakeQuantity; + jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity; } else { @@ -447,18 +449,18 @@ namespace DM_Weight.ViewModels //csStockList[j].Quantity = csStock.Quantity - jiaoStock.NeedNum; ChannelStock newStock = new ChannelStock(); - newStock.Chnguid = jiaoStock.Chnguid; - newStock.BaseQuantity = jiaoStock.BaseQuantity; + //newStock.Chnguid = jiaoStock.Chnguid; + //newStock.BaseQuantity = jiaoStock.BaseQuantity; newStock.ManuNo = jiaoStock.ManuNo; newStock.DrawerNo = jiaoStock.DrawerNo; newStock.DrugId = jiaoStock.DrugId; - newStock.AddToJJNum = jiaoStock.NeedNum; - newStock.Id = Guid.NewGuid().ToString(); - newStock.MachineId = jiaoStock.MachineId; - newStock.Id=Guid.NewGuid().ToString(); - newStock.NeedNum = 0; - AddJJStock.Add(newStock); - csStock.TakeQuantity = csStock.TakeQuantity-jiaoStock.NeedNum; + newStock.AddToJJNum = addNum; + newStock.Id = jjStockManuNo.Id; + //newStock.MachineId = jiaoStock.MachineId; + //newStock.NeedNum = 0; + //newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity; + UpdateJJStock.Add(newStock); + csStock.TakeQuantity = csStock.TakeQuantity - jiaoStock.NeedNum; jiaoStock.NeedNum = 0; break; } @@ -477,7 +479,8 @@ namespace DM_Weight.ViewModels newStock.AddToJJNum = csStock.TakeQuantity; newStock.Id = Guid.NewGuid().ToString(); newStock.MachineId = jiaoStock.MachineId; - newStock.NeedNum= 0; + newStock.DrawerType = 1; + newStock.NeedNum = 0; AddJJStock.Add(newStock); jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity; csStockList[j].TakeQuantity = 0; @@ -494,7 +497,8 @@ namespace DM_Weight.ViewModels newStock.AddToJJNum = jiaoStock.NeedNum; newStock.NeedNum = 0; newStock.Id = Guid.NewGuid().ToString(); - newStock.MachineId=jiaoStock.MachineId; + newStock.MachineId = jiaoStock.MachineId; + newStock.DrawerType = 1; AddJJStock.Add(newStock); csStock.TakeQuantity = csStock.TakeQuantity - newStock.AddToJJNum; break; @@ -507,17 +511,33 @@ namespace DM_Weight.ViewModels .Where(cs => cs.DrawerNo == jiaoStock.DrawerNo) .ExecuteCommand(); } - AddJJStock= AddJJStock.GroupBy(jj => new { jj.DrawerNo, jj.DrugId, jj.ManuNo }) - .Select(jj => + + //保存交接柜数据 + if (AddJJStock != null && AddJJStock.Count > 0) { - var ret = jj.First(); - ret.AddToJJNum = jj.Sum(itx => itx.AddToJJNum); - return ret; - }).ToList(); - - //保存交接柜数据 - SqlSugarHelper.Db.Insertable(AddJJStock).ExecuteCommand(); - + AddJJStock = AddJJStock.GroupBy(jj => new { jj.DrawerNo, jj.DrugId, jj.ManuNo }) + .Select(jj => + { + var ret = jj.First(); + ret.AddToJJNum = jj.Sum(itx => itx.AddToJJNum); + return ret; + }).ToList(); + SqlSugarHelper.Db.Insertable(AddJJStock).ExecuteCommand(); + } + if (UpdateJJStock != null && UpdateJJStock.Count > 0) + { + UpdateJJStock = UpdateJJStock.GroupBy(jj => new { jj.DrawerNo, jj.DrugId, jj.ManuNo }) + .Select(jj => + { + var ret = jj.First(); + ret.AddToJJNum = jj.Sum(itx => itx.AddToJJNum); + return ret; + }).ToList(); + for (int i = 0; i < UpdateJJStock.Count; i++) + { + SqlSugarHelper.Db.Updateable().SetColumns(cs => new ChannelStock() { AddToJJNum = UpdateJJStock[i].AddToJJNum }).Where(cs => cs.Id == UpdateJJStock[i].Id).ExecuteCommand(); + } + } //保存注射剂报表信息 for (int j = 0; j < Jiaojie_ChannelStocks.Count; j++) diff --git a/DM_Weight/ViewModels/StockListWindowViewModel.cs b/DM_Weight/ViewModels/StockListWindowViewModel.cs index e905481..103162a 100644 --- a/DM_Weight/ViewModels/StockListWindowViewModel.cs +++ b/DM_Weight/ViewModels/StockListWindowViewModel.cs @@ -198,9 +198,9 @@ namespace DM_Weight.ViewModels ChannelStocks.Clear(); List q = SqlSugarHelper.Db.Queryable() - .Includes(di => di.channelStocks.Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.DrugId != null).OrderBy(cs => cs.DrawerNo).OrderBy(cs => cs.ColNo).ToList()) + .Includes(di => di.channelStocks.Where(cs => cs.DrawerType == 1).Where(cs => (cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") || cs.MachineId == "DM5") && cs.Quantity > 0 && cs.DrugId != null).OrderBy(cs => cs.DrawerNo).OrderBy(cs => cs.ColNo).ToList()) .WhereIF(!String.IsNullOrEmpty(SearchValue), di => di.DrugName == SearchValue) - .Where(di => di.channelStocks.Any(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.DrugId != null)) + .Where(di => di.channelStocks.Any(cs =>(cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3")||cs.MachineId=="DM5" )&&cs.Quantity>0&& cs.DrugId != null)) .OrderBy(cs => cs.DrugId) .ToList(); Drugs = q;