绑定药品手术间号不对问题修复。核对药品处方与用药明细改成一对一

This commit is contained in:
maqiao 2025-01-10 11:21:38 +08:00
parent 34ef64ac1a
commit 4f5fb169d3
7 changed files with 78 additions and 56 deletions

View File

@ -37,7 +37,7 @@
<!-- 按处方还药或者按取药记录还药 1:处方ReturnDrugWindow22药品ReturnDrugWindow-->
<add key="returnDrugMode" value="2" />
<!-- 自动退出时间单位秒为0时不自动退出 -->
<add key="autoExit" value="0"/>
<add key="autoExit" value="5"/>
<!-- 无操作退出录像时间单位秒为0时不退出录像 -->
<add key="stopRecord" value="180"/>

View File

@ -215,11 +215,11 @@ namespace DM_Weight.ViewModels
}
var f = SqlSugarHelper.Db.UseTran(() =>
{
string chnguid = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo).Select(cs => cs.Id).First();
string chnguid = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo+1).Select(cs => cs.Id).First();
SqlSugarHelper.Db.Insertable(new ChannelStock()
{
Chnguid = chnguid,
DrawerNo = DrawerNo,
DrawerNo = DrawerNo+ 1,
DrugId = DrugInfo.DrugId.ToString(),
BaseQuantity = baseQuantity,
Id = Guid.NewGuid().ToString(),
@ -231,7 +231,7 @@ namespace DM_Weight.ViewModels
SqlSugarHelper.Db.Insertable(new MachineRecord()
{
MachineId = "DM5",
DrawerNo = DrawerNo,
DrawerNo = DrawerNo+1,
DrugId = DrugInfo.DrugId.ToString(),
Operator = HomeWindowViewModel.Operator?.Id,
OperationTime = DateTime.Now,

View File

@ -439,6 +439,16 @@ namespace DM_Weight.ViewModels
{
get => new DelegateCommand(() =>
{
if (DrawerNo == -1)
{
AlertMsg alertMsg = new AlertMsg
{
Message = "请先选择手术间",
Type = MsgType.ERROR,
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
return;
}
CheckOrderAction();
});
}

View File

@ -568,8 +568,8 @@ namespace DM_Weight.ViewModels
//string currentDrawerUser = currentList.BelongUser;
string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode;
OrderInfoList = SqlSugarHelper.Db.Queryable<OrderInfo>()
.Includes(oi => oi.OrderDetailList, od => od.DrugInfo)
.Includes(oi => oi.OrderDetailList, od => od.surgicalResidual)
.Includes(oi => oi._OrderDetail, od => od.DrugInfo)
.Includes(oi => oi._OrderDetail, od => od.surgicalResidual)
//.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase)
//.InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo)
//.InnerJoin<DrugInfo>((oi, od, di) => od.DrugId == di.DrugId.ToString())
@ -600,11 +600,9 @@ namespace DM_Weight.ViewModels
if (OrderInfoList != null && OrderInfoList.Count() > 0)
{
OrderInfoList.ForEach(oi => oi.ItemIsChecked = true);
OrderInfoList.ForEach(oi => oi.OrderDetailList.ForEach(od => od.DrugInfo = od.DrugInfo ?? new DrugInfo()));
OrderInfoList.ForEach(oi => oi._OrderDetail.DrugInfo = oi._OrderDetail.DrugInfo ?? new DrugInfo());
//TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi.OrderDetailList.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item.OrderDetailList.Quantity) }).ToList();
TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).SelectMany(OrderDetailList => OrderDetailList.OrderDetailList).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
}
else
{
@ -707,33 +705,33 @@ namespace DM_Weight.ViewModels
// }
//}
//查询当前药师下所有的待确认的单子
string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode;
OrderInfoList = SqlSugarHelper.Db.Queryable<OrderInfo>()
.Includes(oi => oi.OrderDetailList, od => od.DrugInfo)
.WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
.WhereIF(!String.IsNullOrEmpty(ConfigurationManager.AppSettings["storage"]), oi => oi.Pharmacy == ConfigurationManager.AppSettings["storage"])
.Where(oi => oi.DmStatus == 0)
.Where(oi => oi.HisDispFlag == 0)
.Where(oi => oi.CancelFlag == 0)
.Where(oi => oi.DoctorCode == currentDrawerUser)
.OrderBy(oi => oi.OrderId)
.ToPageList(PageNum, PageSize, ref totalCount);
//string currentDrawerUser = HomeWindowViewModel.Operator.UserBarcode;
//OrderInfoList = SqlSugarHelper.Db.Queryable<OrderInfo>()
// .Includes(oi => oi._OrderDetail, od => od.DrugInfo)
// .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
// .WhereIF(!String.IsNullOrEmpty(ConfigurationManager.AppSettings["storage"]), oi => oi.Pharmacy == ConfigurationManager.AppSettings["storage"])
// .Where(oi => oi.DmStatus == 0)
// .Where(oi => oi.HisDispFlag == 0)
// .Where(oi => oi.CancelFlag == 0)
// .Where(oi => oi.DoctorCode == currentDrawerUser)
// .OrderBy(oi => oi.OrderId)
// .ToPageList(PageNum, PageSize, ref totalCount);
if (OrderInfoList != null && OrderInfoList.Count() > 0)
{
OrderInfoList.ForEach(oi => oi.ItemIsChecked = true);
OrderInfoList.ForEach(oi => oi.OrderDetailList.ForEach(od => od.DrugInfo = od.DrugInfo ?? new DrugInfo()));
//TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi.OrderDetailList.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item.OrderDetailList.Quantity) }).ToList();
TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).SelectMany(OrderDetailList => OrderDetailList.OrderDetailList).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
//if (OrderInfoList != null && OrderInfoList.Count() > 0)
//{
// OrderInfoList.ForEach(oi => oi.ItemIsChecked = true);
// OrderInfoList.ForEach(oi => oi._OrderDetail.DrugInfo = oi._OrderDetail.DrugInfo ?? new DrugInfo());
// //TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi.OrderDetailList.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item.OrderDetailList.Quantity) }).ToList();
// TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
}
else
{
TotalDrugList = null;
}
//}
//else
//{
// TotalDrugList = null;
//}
TotalCount = totalCount;
PageCount = (int)Math.Ceiling((double)TotalCount / PageSize);
//TotalCount = totalCount;
//PageCount = (int)Math.Ceiling((double)TotalCount / PageSize);
}
}
@ -998,7 +996,7 @@ namespace DM_Weight.ViewModels
{
//TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).GroupBy(oi => oi._OrderDetail.DrugInfo.DrugName).Select(oi => new TotalDrug { DrugName = oi.Key, TotalCount = oi.Sum(item => item._OrderDetail.Quantity) }).ToList();
TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).SelectMany(OrderDetailList => OrderDetailList.OrderDetailList).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
TotalDrugList = OrderInfoList.Where(oi => oi.ItemIsChecked).Select(OrderDetailList => OrderDetailList._OrderDetail).GroupBy(item => item.DrugInfo.DrugName).Select(group => new TotalDrug { DrugName = group.Key, TotalCount = group.Sum(item => item.Quantity) }).ToList();
}
}
@ -1017,6 +1015,16 @@ namespace DM_Weight.ViewModels
{
get => new DelegateCommand(() =>
{
if(DrawerNo==-1)
{
AlertMsg alertMsg = new AlertMsg
{
Message = "请先选择手术间",
Type = MsgType.ERROR,
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
return;
}
GetUseBox();
CheckOrderAction();
});

View File

@ -268,6 +268,7 @@ namespace DM_Weight.ViewModels
if (!_socketHelper.OpenStatus)
{
SetProperty(ref _selectedMenu, value);
SelectionMethod();//在此处调用而不是通过前台的Triggers事件调用为了规避未关闭药箱时多次点击菜单不起作用
}
else
{
@ -279,11 +280,11 @@ namespace DM_Weight.ViewModels
}
}
//PremissionDm? PreSelectedMenu;
private DelegateCommand _selectionCommon;
public DelegateCommand SelectionCommon
{
get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod));
}
//private DelegateCommand _selectionCommon;
//public DelegateCommand SelectionCommon
//{
// get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod));
//}
private void SelectionMethod()
{
//SelectedMenu = viewName.SelectedItem as PremissionDm;

View File

@ -184,23 +184,26 @@
<GridViewColumn Width="150"
DisplayMemberBinding="{Binding OrderNo}"
Header="单号"/>
<!--<GridViewColumn Width="240"
DisplayMemberBinding="{Binding DeptName}"
Header="科室"/>-->
<!--<GridViewColumn Width="100"
<GridViewColumn Width="180"
DisplayMemberBinding="{Binding _OrderDetail.DrugInfo.DrugName}"
Header="药品名称"/>
<GridViewColumn Width="80"
DisplayMemberBinding="{Binding _OrderDetail.SetManuNo}"
Header="药品批次"/>
<GridViewColumn Width="80"
DisplayMemberBinding="{Binding _OrderDetail.SetEffDate}"
Header="药品效期"/>
<GridViewColumn Width="30"
<GridViewColumn Width="42"
DisplayMemberBinding="{Binding _OrderDetail.Quantity}"
Header="数量"/>-->
Header="数量"/>
<GridViewColumn Width="80"
DisplayMemberBinding="{Binding _OrderDetail.surgicalResidual.UseDoseInfo}"
Header="使用量"/>
<GridViewColumn Width="80"
DisplayMemberBinding="{Binding _OrderDetail.surgicalResidual.ResidualDoseInfo}"
Header="剩余量"/>
<GridViewColumn Width="160"
DisplayMemberBinding="{Binding _OrderDetail.surgicalResidual.CreateTime}"
Header="余液处置时间"/>
<GridViewColumn Width="180" Header="药品名称">
<!--<GridViewColumn Width="180" Header="药品名称">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding OrderDetailList}" DisplayMemberPath="DrugInfo.DrugName" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
@ -214,13 +217,13 @@
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!--<GridViewColumn Width="80" Header="药品效期">
<GridViewColumn Width="80" Header="药品效期">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding OrderDetailList}" DisplayMemberPath="SetEffDate" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>-->
</GridViewColumn>
<GridViewColumn Width="42" Header="数量">
<GridViewColumn.CellTemplate>
<DataTemplate>
@ -263,7 +266,7 @@
<ListBox ItemsSource="{Binding OrderDetailList}" DisplayMemberPath="surgicalResidual.DisposalTime" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridViewColumn>-->
</GridView>
</ListView.View>
</ListView>

View File

@ -27,12 +27,12 @@
</Grid.ColumnDefinitions>
<!--<Image Grid.Column="0" Margin="30 0 30 0" HorizontalAlignment="Left" Width="Auto" Height="26" Source="/Images/logo.png" />-->
<TextBlock Text="交接柜管理系统" Grid.Column="0" Margin="30 0 30 0" HorizontalAlignment="Left" Width="Auto" Height="26" Foreground="White" FontSize="20" FontWeight="Bold" />
<ListBox Name="ListBoxName" Grid.Column="1" SelectedItem="{Binding SelectedMenu}" ItemsSource="{Binding PremissionDmList}" HorizontalAlignment="Right" Cursor="Hand">
<i:Interaction.Triggers>
<ListBox SelectionMode="Extended" Name="ListBoxName" Grid.Column="1" SelectedItem="{Binding SelectedMenu}" ItemsSource="{Binding PremissionDmList}" HorizontalAlignment="Right" Cursor="Hand">
<!--<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectionCommon}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</i:Interaction.Triggers>-->
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" IsItemsHost="True"/>