From 7d4cd335248027408ef0692c8eb3fb868e8b1dce Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Thu, 4 Sep 2025 15:19:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataAccess/Dao/IOrderInfoDao.cs | 4 + .../DataAccess/Impl/ChannelListDao.cs | 10 + .../DataAccess/Impl/MachineRecordDao.cs | 4 +- .../DataAccess/Impl/OrderInfoDao.cs | 57 ++++-- MasaBlazorApp3/Pages/BoxAddDetailDialog.razor | 51 ++--- MasaBlazorApp3/Pages/BoxAddDrug.razor | 6 +- MasaBlazorApp3/Pages/BoxBind.razor | 21 ++- MasaBlazorApp3/Pages/BoxStock.razor | 2 +- MasaBlazorApp3/Pages/CheckOrder.razor | 177 +++++++++++++----- MasaBlazorApp3/Pages/DrawerAdd.razor | 30 +-- MasaBlazorApp3/Pages/DrawerTake.razor | 16 +- MasaBlazorApp3/Pages/RecordReturnEmpty.razor | 2 +- .../Pages/RecordReturnEmptyDialog.razor | 18 +- MasaBlazorApp3/Pages/StockCheck.razor | 28 +-- MasaBlazorApp3/Pages/StockList.razor | 22 +-- MasaBlazorApp3/Pojo/BoxModel.cs | 5 +- MasaBlazorApp3/Pojo/Config/DrawerConfig.cs | 3 +- MasaBlazorApp3/Pojo/Config/SettingConfig.cs | 2 + MasaBlazorApp3/Port/PortUtil.cs | 21 ++- MasaBlazorApp3/appsettings.json | 6 +- sql/新建 文本文档.txt | 54 ++++++ 21 files changed, 386 insertions(+), 153 deletions(-) create mode 100644 sql/新建 文本文档.txt diff --git a/MasaBlazorApp3/DataAccess/Dao/IOrderInfoDao.cs b/MasaBlazorApp3/DataAccess/Dao/IOrderInfoDao.cs index 7369797..29a7f95 100644 --- a/MasaBlazorApp3/DataAccess/Dao/IOrderInfoDao.cs +++ b/MasaBlazorApp3/DataAccess/Dao/IOrderInfoDao.cs @@ -30,6 +30,10 @@ namespace MasaBlazorApp3.DataAccess.Dao public Task> GetAllOrderInfoByBox(int box,string OrderrNo, DateTime OrderDate, int? take, int? skip); //获取待处理处方中的麻醉师 public Task> GetAllOrderInfo(string Name, string OrderrNo, DateTime? OrderDate, int? take, int? skip); + //获取麻醉师信息 + public Task> GetAnaesthetistName(); + //获取麻醉师单对应的手术间号 + public Task> GetOperationNum(string anaesthetistName); //获取所有药盒号 public Task> GetDrawerNum(string machineId); /// 获取指定药盒号 diff --git a/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs b/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs index b11a101..be2fd96 100644 --- a/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs +++ b/MasaBlazorApp3/DataAccess/Impl/ChannelListDao.cs @@ -975,6 +975,15 @@ namespace MasaBlazorApp3.DataAccess.Impl } if (flag) { + tempData.Sort((s1, s3) => + { + int i = s1.ChannelStock.DrawerNo.CompareTo(s3.ChannelStock.DrawerNo); + if (i == 0) + { + return s1.ChannelStock.ColNo.CompareTo(s3.ChannelStock.ColNo); + } + return i; + }); return tempData; } else @@ -1043,6 +1052,7 @@ namespace MasaBlazorApp3.DataAccess.Impl EffDate = !String.IsNullOrEmpty(EffDate) ? DateTime.ParseExact(EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null, OperationTime = DateTime.Now, Type = 2, + Status=2,//给交接柜补药不需要还药或还空瓶 Quantity = boxTakeVo.GetQuantity, Operator = _globalStateService.Operator.Id, Reviewer = _globalStateService.Reviewer?.Id ?? _globalStateService.Operator.Id, diff --git a/MasaBlazorApp3/DataAccess/Impl/MachineRecordDao.cs b/MasaBlazorApp3/DataAccess/Impl/MachineRecordDao.cs index fb21751..a3885e3 100644 --- a/MasaBlazorApp3/DataAccess/Impl/MachineRecordDao.cs +++ b/MasaBlazorApp3/DataAccess/Impl/MachineRecordDao.cs @@ -300,7 +300,7 @@ namespace MasaBlazorApp3.DataAccess.Impl { record.ReturnQuantity1 = record.ReturnQuantity1 + record.CurrentReturnQuantity; record.Id = record.Id; - record.Status = (record.Quantity - (record.ReturnQuantity1 + record.ReturnQuantity2 + sumQuantity)) == 0 ? 2 : 1; + record.Status = (record.Quantity - (record.ReturnQuantity1 + record.ReturnQuantity2 + sumQuantity)) <= 0 ? 2 : 1; _connection.Update(record); } @@ -401,7 +401,7 @@ namespace MasaBlazorApp3.DataAccess.Impl Operator = _MachineRecord.Operator, OperationTime = DateTime.Now, Quantity = _MachineRecord.CurrentReturnQuantity, - Type = 31, + Type = 32, InvoiceId = _MachineRecord.InvoiceId, GetId = _MachineRecord.GetId }); diff --git a/MasaBlazorApp3/DataAccess/Impl/OrderInfoDao.cs b/MasaBlazorApp3/DataAccess/Impl/OrderInfoDao.cs index 73947a3..fbdfd5b 100644 --- a/MasaBlazorApp3/DataAccess/Impl/OrderInfoDao.cs +++ b/MasaBlazorApp3/DataAccess/Impl/OrderInfoDao.cs @@ -18,6 +18,7 @@ using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; +using System.Reflection.PortableExecutable; using System.Text; using System.Threading.Tasks; @@ -704,6 +705,7 @@ namespace MasaBlazorApp3.DataAccess.Impl /// public async Task> GetAllOrderInfo(string Name, string OrderrNo, DateTime? OrderDate, int? take, int? skip) { + logger.Info($"GetAllOrderInfo开始:{DateTime.Now}"); var query2 = from od in _connection.OrderDetail from cl in _connection.ChannelStock.Where(c => c.MachineId == _setting.boxMachineId).InnerJoin(c => c.DrugId == od.DrugId) group od by od.OrderNo into temp @@ -717,14 +719,14 @@ namespace MasaBlazorApp3.DataAccess.Impl query = query.Where(oi => oi.anaesthetistName == Name); } - if (!String.IsNullOrEmpty(OrderrNo)) - { - query = query.Where(oi => oi.OrderNo.Equals(OrderrNo)); - } - if (OrderDate != null && OrderDate != DateTime.MinValue) - { - query = query.Where(oi => oi.ChargeDate.Date.Equals(((DateTime)OrderDate).Date)); - } + //if (!String.IsNullOrEmpty(OrderrNo)) + //{ + // query = query.Where(oi => oi.OrderNo.Equals(OrderrNo)); + //} + //if (OrderDate != null && OrderDate != DateTime.MinValue) + //{ + // query = query.Where(oi => oi.ChargeDate.Date.Equals(((DateTime)OrderDate).Date)); + //} query = query.Where(oi => oi.Status == 0); query = query.Where(oi => oi.HisDispFlag == 0); query = query.Where(oi => oi.CancelFlag == 0); @@ -752,12 +754,21 @@ namespace MasaBlazorApp3.DataAccess.Impl } } } + logger.Info($"GetAllOrderInfo结束:{DateTime.Now}"); return new PageData() { TotalDesserts = pagedData, Desserts = list }; + } + //public List GetAnaesthetistName() + //{ + // List strList = new List(); + // strList = _connection.OrderInfo.Where(it=>it.state==0&&it.HisDispFlag==0&&it.CancelFlag==0).Select(it => it.anaesthetistName).Distinct().ToList(); + // return strList; + + //} /// /// 获取所有药盒号 /// @@ -784,11 +795,11 @@ namespace MasaBlazorApp3.DataAccess.Impl public async Task> GetDrawerNumByOperationNum(string machineId,List operationNum) { List boxModelList = new List(); - var query = _connection.ChannelStock - .Where(cs => cs.MachineId == machineId && operationNum.Contains(cs.DrawerNo)&&cs.Quantity>0); - boxModelList =await _connection.ChannelStock - .Where(cs => cs.MachineId == machineId&& operationNum.Contains(cs.DrawerNo)) - .Select(cs => new BoxModel { BoxName = cs.DrawerNo.ToString(), BoxNo = Convert.ToInt32(cs.ColNo) }).Distinct().ToListAsync(); + //var query = _connection.ChannelStock + // .Where(cs => cs.MachineId == machineId && operationNum.Contains(cs.DrawerNo)&&cs.Quantity>0); + boxModelList = await _connection.ChannelStock + .Where(cs => cs.MachineId == machineId && cs.Quantity > 0 && (operationNum.Contains(cs.DrawerNo))) + .Select(cs => new BoxModel { BoxName = cs.DrawerNo, BoxNo = Convert.ToInt32(cs.ColNo) }).Distinct().OrderBy(cs=>new { cs.BoxName, cs.BoxNo }).ToListAsync(); return boxModelList; } //核对处方 @@ -1034,5 +1045,25 @@ namespace MasaBlazorApp3.DataAccess.Impl } } + public async Task> GetAnaesthetistName() + { + List strList = new List(); + strList =await _connection.OrderInfo.Where(it => it.state == 0 && it.HisDispFlag == 0 && it.CancelFlag == 0).Select(it => new Anaesthetist { Name = it.anaesthetistName }).Distinct().ToListAsync(); + return strList; + + } + + //获取麻醉师单对应的手术间号 + public async Task> GetOperationNum(string anaesthetistName) + { + List boxNumList = new List(); + List roomNameList = await _connection.OrderInfo + .Where(it => it.state == 0 && it.HisDispFlag == 0 && it.CancelFlag == 0&&it.anaesthetistName== anaesthetistName) + .Select(it => Convert.ToInt32(it.RoomName.Substring(6, it.RoomName.Length - 6))).Distinct().ToListAsync(); + roomNameList.Add(99); + roomNameList.Add(111); + boxNumList=await GetDrawerNumByOperationNum(_setting.boxMachineId, roomNameList); + return boxNumList; + } } } diff --git a/MasaBlazorApp3/Pages/BoxAddDetailDialog.razor b/MasaBlazorApp3/Pages/BoxAddDetailDialog.razor index 97d79c0..225e78f 100644 --- a/MasaBlazorApp3/Pages/BoxAddDetailDialog.razor +++ b/MasaBlazorApp3/Pages/BoxAddDetailDialog.razor @@ -192,11 +192,11 @@ } }); orderTakeVo.Status = 2; - if (data.Any(it => it.ChannelStock.BoardType == 2)) - { - //有单支抽屉则广播灭灯 - PortUtil.AllLightOff(); - } + // if (data.Any(it => it.ChannelStock.BoardType.ToString().Contains("2"))) + // { + // //有单支抽屉则广播灭灯 + // PortUtil.AllLightOff(); + // } if (options._data == drawerNos.Count - 1) { PortUtil.speechSynthesizer.SpeakAsyncCancelAll(); @@ -224,8 +224,11 @@ await Task.Delay(200); } - if (data[i].ChannelStock.BoardType.ToString().Contains("2")) + if (data[i].ChannelStock.BoardType.ToString().Contains("2") && data[i].ChannelStock.DrawerNo == drawerNo) { + + //有单支抽屉则广播灭灯 + PortUtil.AllLightOff(); byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo); orderTakeVo.AfterQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray(); logger.Info($"单支抽屉,关抽屉后检测数量【{string.Join(",", orderTakeVo.AfterQuantity)}】"); @@ -236,24 +239,24 @@ } } } - if (!string.IsNullOrEmpty(alertMessage)) - { - //弹出确认对话框 - alertMessage += "应取数与实际取出数不一致确认要保存吗?"; - //弹出确认提示框 - var confirm = await dialogService.OpenAsync( - $"保存确认", - new Dictionary() { { "confirmInfo", alertMessage } }, - new DialogOptions() { Width = "45vw", Resizable = true, Draggable = true, ShowClose = false }); - logger.Info(alertMessage); - if (!confirm) - { - RestData(); - logger.Info("取消保存"); - // 关闭弹窗 - dialogService.Close(false); - } - } + // if (!string.IsNullOrEmpty(alertMessage)) + // { + // //弹出确认对话框 + alertMessage += "应取数与实际取出数不一致确认要保存吗?"; + // //弹出确认提示框 + // var confirm = await dialogService.OpenAsync( + // $"保存确认", + // new Dictionary() { { "confirmInfo", alertMessage } }, + // new DialogOptions() { Width = "45vw", Resizable = true, Draggable = true, ShowClose = false }); + logger.Info(alertMessage); + // if (!confirm) + // { + // RestData(); + // logger.Info("取消保存"); + // // 关闭弹窗 + // dialogService.Close(false); + // } + // } stop(); } else diff --git a/MasaBlazorApp3/Pages/BoxAddDrug.razor b/MasaBlazorApp3/Pages/BoxAddDrug.razor index a78e3aa..c6a5d34 100644 --- a/MasaBlazorApp3/Pages/BoxAddDrug.razor +++ b/MasaBlazorApp3/Pages/BoxAddDrug.razor @@ -109,7 +109,9 @@ @@ -163,7 +165,7 @@ async void OnRowSelect(ChannelList cl) { var b = await dialogService.OpenAsync( - $"{cl.DrawerNo}号药盒加药", + cl.DrawerNo==99?"急诊药盒":cl.DrawerNo==111?"恢复室药盒":$"{cl.DrawerNo}-{cl.ColNo}号药盒加药", new Dictionary() { { "boxChannelList", cl } }, new DialogOptions() { Width = "85vw", Resizable = true, Draggable = true, ShowClose = false } ); diff --git a/MasaBlazorApp3/Pages/BoxBind.razor b/MasaBlazorApp3/Pages/BoxBind.razor index 0a11cbb..9859798 100644 --- a/MasaBlazorApp3/Pages/BoxBind.razor +++ b/MasaBlazorApp3/Pages/BoxBind.razor @@ -2,8 +2,8 @@
@@ -29,7 +29,7 @@ + Style="width:100%; display: block;" AllowFilteringByAllStringColumns="true" TextProperty="Name"> @@ -50,12 +50,23 @@
- +