diff --git a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs index 2eccbf2..2d197d4 100644 --- a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs +++ b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs @@ -358,20 +358,16 @@ namespace DM_Weight.ViewModels { for (int j = 0; j < jiaojieStock.Count; j++) { - List stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList(); - if (stockManuList == null||stockManuList.Count<=0) + List searchStock = SqlSugarHelper.Db.Queryable() + .Where(cs => cs.DrawerNo == jiaojieStock[j].DrawerNo && cs.DrugId == jiaojieStock[j].DrugId && cs.DrugId == it.DrugId && cs.ManuNo == it.ManuNo) + .ToList(); + //List stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList(); + if (searchStock == null || searchStock.Count <= 0) { - jiaojieStock[j].ManuNo= it.ManuNo; - if (jiaojieStock[j].Quantity <= 0) - { - SqlSugarHelper.Db.Updateable(jiaojieStock[j]).ExecuteCommand(); - } - else - { - jiaojieStock[j].ManuNo= it.ManuNo; - jiaojieStock[j].Chnguid = Guid.NewGuid().ToString(); - SqlSugarHelper.Db.Insertable(jiaojieStock).ExecuteCommand(); - } + SqlSugarHelper.Db.Deleteable().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.ManuNo==null).ExecuteCommand(); + jiaojieStock[j].ManuNo = it.ManuNo; + jiaojieStock[j].Id = Guid.NewGuid().ToString(); + SqlSugarHelper.Db.Insertable(jiaojieStock).ExecuteCommand(); } } } diff --git a/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs index d5561ea..8752fc5 100644 --- a/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs +++ b/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs @@ -8,6 +8,7 @@ using Prism.Events; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; +using SqlSugar; using System; using System.Collections.Generic; using System.ComponentModel; @@ -76,6 +77,14 @@ namespace DM_Weight.ViewModels .OrderBy(cs => cs.Chnguid) .OrderBy(cs => cs.DrawerNo) .ToList(); + ChannelStocks = ChannelStocks.GroupBy(it => new { it.DrawerNo, it.DrugId }) + .Select(it => + { + var ret = it.First(); + ret.Quantity = it.Sum(itx => itx.Quantity); + return ret; + }) + .ToList(); ChannelStocks.ForEach(cs => cs.AddQuantity = cs.BaseQuantity - cs.Quantity); ICollectionView vw = CollectionViewSource.GetDefaultView(ChannelStocks);