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;