diff --git a/MasaBlazorApp3/DataAccess/Dao/IChannelListDao.cs b/MasaBlazorApp3/DataAccess/Dao/IChannelListDao.cs index fa12022..fd9325f 100644 --- a/MasaBlazorApp3/DataAccess/Dao/IChannelListDao.cs +++ b/MasaBlazorApp3/DataAccess/Dao/IChannelListDao.cs @@ -87,7 +87,7 @@ namespace MasaBlazorApp3.DataAccess.Dao //手术室药盒交换药品完成 Task BoxReplaceFinish(ChannelStock stock, List Stocks); //手术室药盒移出药品完成 - Task BoxRemoveFinish(ChannelStock stock, int SelectedDrawerNo, int removeQuantity); + Task BoxRemoveFinish(ChannelStock stock, string SelectedDrawerNo, int removeQuantity); Task> GetAllBox(); //根据药盒查询药品信息 diff --git a/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs b/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs index 0cf189f..b11a101 100644 --- a/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs +++ b/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs @@ -1713,15 +1713,25 @@ namespace MasaBlazorApp3.DataAccess.Impl } } //手术室药盒移出药品完成 - public async Task BoxRemoveFinish(ChannelStock stock, int SelectedDrawerNo, int removeQuantity) + public async Task BoxRemoveFinish(ChannelStock stock, string SelectedDrawerNo, int removeQuantity) { try { bool flag = true; _connection.BeginTransaction(); + + int selectDrawerNo = 0; + int selectColNo = 0; + var selectSpl = SelectedDrawerNo.Split('-'); + if (selectSpl != null && selectSpl.Count() > 0) + { + selectDrawerNo = Convert.ToInt32(selectSpl[0]); + selectColNo = Convert.ToInt32(selectSpl[1]); + } + //查询移入的药品是否有库存 ChannelStock inChannelStock = _connection.ChannelStock.AsQueryable() - .Where(cs => cs.MachineId == stock.MachineId && cs.DrawerNo == SelectedDrawerNo && cs.DrugId == stock.DrugId && cs.ManuNo == stock.ManuNo && cs.EffDate == stock.EffDate) + .Where(cs => cs.MachineId == stock.MachineId && cs.DrawerNo == selectDrawerNo && cs.DrawerNo == selectColNo && cs.DrugId == stock.DrugId && cs.ManuNo == stock.ManuNo && cs.EffDate == stock.EffDate) .FirstOrDefault(); if (inChannelStock != null) { @@ -1738,7 +1748,7 @@ namespace MasaBlazorApp3.DataAccess.Impl { //如果没有该批次的药品,先查询是否有未绑批次的,有则更新批次信息,无则新增一条记录 ChannelStock inDrugChannelStock = _connection.ChannelStock.AsQueryable() - .Where(cs => cs.MachineId == stock.MachineId && cs.DrawerNo == SelectedDrawerNo && cs.DrugId == stock.DrugId) + .Where(cs => cs.MachineId == stock.MachineId && cs.DrawerNo == selectDrawerNo && cs.DrawerNo == selectColNo && cs.DrugId == stock.DrugId) .FirstOrDefault(); if (inDrugChannelStock != null) { @@ -1759,7 +1769,8 @@ namespace MasaBlazorApp3.DataAccess.Impl { Id = Guid.NewGuid().ToString(), MachineId = stock.MachineId, - DrawerNo = SelectedDrawerNo, + DrawerNo = selectDrawerNo, + ColNo= selectColNo, DrugId = stock.DrugId, ManuNo = stock.ManuNo, EffDate = stock.EffDate, @@ -1798,7 +1809,7 @@ namespace MasaBlazorApp3.DataAccess.Impl .Update(); } //修改移入药盒的总库存数 - ChannelList moveToChannelList = _connection.ChannelList.Where(cl => cl.MachineId == stock.MachineId && cl.DrawerNo == SelectedDrawerNo && cl.DrugId == stock.DrugId).FirstOrDefault(); + ChannelList moveToChannelList = _connection.ChannelList.Where(cl => cl.MachineId == stock.MachineId && cl.DrawerNo == selectDrawerNo&&cl.ColNo==selectColNo && cl.DrugId == stock.DrugId).FirstOrDefault(); if (moveToChannelList != null) { updateTotalQuantity = _connection.ChannelList.Where(cl => cl.Id == moveToChannelList.Id) @@ -1822,7 +1833,7 @@ namespace MasaBlazorApp3.DataAccess.Impl { MachineId = stock.MachineId, DrawerNo = stock.DrawerNo, - ColNo = SelectedDrawerNo,//移入的药盒号 + ColNo = selectDrawerNo,//移入的药盒号 DrugId = stock.DrugId, ManuNo = stock.ManuNo, EffDate = !String.IsNullOrEmpty(stock.EffDate) ? DateTime.ParseExact(stock.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null, diff --git a/MasaBlazorApp3/Pages/BoxRemoveDialog.razor b/MasaBlazorApp3/Pages/BoxRemoveDialog.razor index 7fac445..b0108aa 100644 --- a/MasaBlazorApp3/Pages/BoxRemoveDialog.razor +++ b/MasaBlazorApp3/Pages/BoxRemoveDialog.razor @@ -51,7 +51,7 @@ @inject PortUtil PortUtil; private readonly ILog logger = LogManager.GetLogger(typeof(OrderDetailDialog)); - string removeQuantity = "1-1"; + int removeQuantity = 0; int status; string[] DrawerNos; @@ -102,7 +102,7 @@ } async Task Save() { - if (string.IsNullOrEmpty(removeQuantity)) + if (removeQuantity<=0) { _message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = "请输入移入数量", Duration = 4000 }); return; diff --git a/MasaBlazorApp3/Pages/BoxReplace.razor b/MasaBlazorApp3/Pages/BoxReplace.razor index 503e147..b655278 100644 --- a/MasaBlazorApp3/Pages/BoxReplace.razor +++ b/MasaBlazorApp3/Pages/BoxReplace.razor @@ -155,7 +155,7 @@ async Task SelectedDrawerChange(object drawerNo) { - var result = await channelListDao.GetChannelStockByDrug(channelStock, Convert.ToInt32(drawerNo), 8, 0); + var result = await channelListDao.GetChannelStockByDrug(channelStock, drawerNo.ToString(), 8, 0); selectedDrawerData = result.Desserts; } int currentCol = 0;