From 5f2c4aee93f72fa9bddc16654b371b01e0a80488 Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Sat, 7 Dec 2024 11:27:02 +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=B7=BB=E5=8A=A0=E5=AF=B9=E5=BA=94=E6=89=B9=E6=AC=A1=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DM_Weight/Models/ChannelStock.cs | 7 +- .../ViewModels/AddToJiaoJieDialogViewModel.cs | 161 ++++++++++++++---- 2 files changed, 133 insertions(+), 35 deletions(-) diff --git a/DM_Weight/Models/ChannelStock.cs b/DM_Weight/Models/ChannelStock.cs index cd1f769..5a864ba 100644 --- a/DM_Weight/Models/ChannelStock.cs +++ b/DM_Weight/Models/ChannelStock.cs @@ -205,6 +205,11 @@ namespace DM_Weight.Models [SugarColumn(IsIgnore = true)] public string OrderNos { get; set; } - + //交接柜加药数量 + [SugarColumn(ColumnName = "col_no1")] + public int AddToJJNum { get; set; } + //需要加药数量 + [SugarColumn(ColumnName = "col_no2")] + public int NeedNum { get; set; } } } \ No newline at end of file diff --git a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs index ce5ef32..ea0e93b 100644 --- a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs +++ b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs @@ -40,6 +40,8 @@ namespace DM_Weight.ViewModels get => _jiaojie_channelStocks; set => SetProperty(ref _jiaojie_channelStocks, value); } + + public List AddJJStock = new List(); /// /// 交接柜的库位信息 /// @@ -351,47 +353,35 @@ namespace DM_Weight.ViewModels Id = it.Id, }).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand(); - //更新 交接柜 批次信息 - List jiaojieStock = Jiaojie_ChannelStocks.Where(cs => cs.DrugId == it.DrugId).ToList(); - //交接柜中有该药品及批次的数据则更新;没有则插入一条 - if (jiaojieStock != null) - { - for (int j = 0; j < jiaojieStock.Count; j++) - { - 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 - &&cs.MachineId==(ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5")) - .ToList(); - //List stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList(); - if (searchStock == null || searchStock.Count <= 0) - { - SqlSugarHelper.Db.Deleteable().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.Quantity<=0).ExecuteCommand(); - jiaojieStock[j].ManuNo = it.ManuNo; - jiaojieStock[j].Id = Guid.NewGuid().ToString(); - SqlSugarHelper.Db.Insertable(jiaojieStock).ExecuteCommand(); - } - } - } - //if (jiaojieStock != null && jiaojieStock.Count > 0) + ////更新 交接柜 批次信息 + //List jiaojieStock = Jiaojie_ChannelStocks.Where(cs => cs.DrugId == it.DrugId).ToList(); + ////交接柜中有该药品及批次的数据则更新;没有则插入一条 + //if (jiaojieStock != null) //{ // for (int j = 0; j < jiaojieStock.Count; j++) // { - // // 更新数据 交接柜 库存信息 - // ChannelStock jiaojie_it = jiaojieStock[j]; - // SqlSugarHelper.Db.Updateable(new ChannelStock() + // if(it.Quantity> jiaojieStock[j].Quantity) // { - // //Quantity = jiaojie_it.BaseQuantity, - // //ManuNo = it.ManuNo, - // //EffDate = it.EffDate, - // Id = jiaojie_it.Id, - // }).UpdateColumns(jiaojie_it => new { jiaojie_it.ManuNo }).ExecuteCommand(); + // //取的数量够不够被 + // } + // 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 + // &&cs.MachineId==(ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5")) + // .ToList(); + // //List stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList(); + // if (searchStock == null || searchStock.Count <= 0) + // { + // SqlSugarHelper.Db.Deleteable().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.Quantity<=0).ExecuteCommand(); + // jiaojieStock[j].ManuNo = it.ManuNo; + // jiaojieStock[j].Id = Guid.NewGuid().ToString(); + // SqlSugarHelper.Db.Insertable(jiaojieStock[j]).ExecuteCommand(); + // } // } //} - // 保存数据 出库记录 SqlSugarHelper.Db.Insertable(new MachineRecord() { @@ -411,6 +401,109 @@ namespace DM_Weight.ViewModels }).ExecuteCommand(); } + //更新 交接柜 批次信息 + for (int i = 0; i < Jiaojie_ChannelStocks.Count; i++) + { + ChannelStock jiaoStock = Jiaojie_ChannelStocks[i]; + SqlSugarHelper.Db.Deleteable().Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.MachineId == jiaoStock.MachineId && cs.Quantity <= 0 && cs.AddToJJNum <= 0).ExecuteCommand(); + List csStockList = record.Where(cs => cs.DrugId == jiaoStock.DrugId && cs.TakeQuantity > 0).ToList(); + if (csStockList != null && csStockList.Count > 0) + { + for (int j = 0; j < csStockList.Count; j++) + { + ChannelStock csStock = csStockList[j]; + ChannelStock jjStockManuNo = SqlSugarHelper.Db.Queryable() + .Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First(); + if (jjStockManuNo != null) + { + //有该批次 + if (jiaoStock.NeedNum > csStock.TakeQuantity) + { + //不够取 + ChannelStock newStock = new ChannelStock(); + + 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(); + AddJJStock.Add(newStock); + csStock.TakeQuantity = 0; + jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity; + } + else + { + //够取 + jiaoStock.AddQuantity = jiaoStock.Quantity+ jiaoStock.NeedNum; + jiaoStock.NeedNum = 0; + AddJJStock.Add(jiaoStock); + csStock.Quantity = csStock.Quantity - jiaoStock.NeedNum; + //csStockList[j].Quantity = csStock.Quantity - jiaoStock.NeedNum; + + ChannelStock newStock = new ChannelStock(); + 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(); + AddJJStock.Add(newStock); + csStock.TakeQuantity = jiaoStock.NeedNum - csStock.TakeQuantity; + jiaoStock.NeedNum = 0; + break; + } + } + else //没有该批次 + { + if (jiaoStock.NeedNum > csStock.TakeQuantity) + { + //不够取 + ChannelStock newStock = new ChannelStock(); + newStock.Chnguid = jiaoStock.Chnguid; + newStock.BaseQuantity = csStock.BaseQuantity; + newStock.DrawerNo = jiaoStock.DrawerNo; + newStock.DrugId = jiaoStock.DrugId; + newStock.ManuNo = csStock.ManuNo; + newStock.AddToJJNum = csStock.Quantity; + newStock.Id = Guid.NewGuid().ToString(); + newStock.MachineId = jiaoStock.MachineId; + AddJJStock.Add(newStock); + jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.Quantity; + csStockList[j].TakeQuantity = 0; + } + else + { + //够取 + ChannelStock newStock = new ChannelStock(); + newStock.Chnguid = jiaoStock.Chnguid; + newStock.BaseQuantity = csStock.BaseQuantity; + newStock.DrawerNo = jiaoStock.DrawerNo; + newStock.DrugId = jiaoStock.DrugId; + newStock.ManuNo = csStock.ManuNo; + newStock.AddToJJNum = jiaoStock.NeedNum; + newStock.NeedNum = 0; + newStock.Id = Guid.NewGuid().ToString(); + newStock.MachineId=jiaoStock.MachineId; + AddJJStock.Add(newStock); + csStock.TakeQuantity = csStock.Quantity - newStock.AddToJJNum; + break; + } + } + } + } + } + + //保存交接柜数据 + SqlSugarHelper.Db.Insertable(AddJJStock).ExecuteCommand(); + + //保存注射剂报表信息 for (int j = 0; j < Jiaojie_ChannelStocks.Count; j++) {