修改渲染标签时提示信息

This commit is contained in:
maqiao 2024-02-29 13:10:12 +08:00
parent a450ef661d
commit 9696d374b9
5 changed files with 67 additions and 63 deletions

View File

@ -20,7 +20,7 @@
<!--2023/7/13 药房代码 有则写无则空 --> <!--2023/7/13 药房代码 有则写无则空 -->
<add key="storage" value="" /> <add key="storage" value="" />
<!-- 登录模式 1单人登录2双人登录 --> <!-- 登录模式 1单人登录2双人登录 -->
<add key="loginMode" value="2" /> <add key="loginMode" value="1" />
<!-- 登录顺序,指定先登录的人的名称有效值只有在登录模式等于2时才会生效 发药人【operator】审核人【reviewer】 --> <!-- 登录顺序,指定先登录的人的名称有效值只有在登录模式等于2时才会生效 发药人【operator】审核人【reviewer】 -->
<add key="firstLogin" value="operator" /> <add key="firstLogin" value="operator" />
<!-- 按处方还药或者按取药记录还药 1:处方2药品--> <!-- 按处方还药或者按取药记录还药 1:处方2药品-->

View File

@ -1041,6 +1041,7 @@ namespace DM_Weight.Port
Array.Resize(ref contentBuf, contentBuf.Length + 1); Array.Resize(ref contentBuf, contentBuf.Length + 1);
} }
byte[] buffer = new byte[] { 0xaa, (byte)channel, 1, (byte)type, 0, 0, 0, 0xee }; byte[] buffer = new byte[] { 0xaa, (byte)channel, 1, (byte)type, 0, 0, 0, 0xee };
logger.Info($"buffer:{Convert.ToHexString(buffer)}");
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
//await Task.Delay(20); //await Task.Delay(20);
Thread.Sleep(20); Thread.Sleep(20);
@ -1050,6 +1051,7 @@ namespace DM_Weight.Port
buffer[5] = contentBuf[i]; buffer[5] = contentBuf[i];
buffer[6] = contentBuf[i + 1]; buffer[6] = contentBuf[i + 1];
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
logger.Info($"buffer:{Convert.ToHexString(buffer)}");
//await Task.Delay(20); //await Task.Delay(20);
Thread.Sleep(20); Thread.Sleep(20);
} }
@ -1089,6 +1091,7 @@ namespace DM_Weight.Port
canBusSerial.DiscardInBuffer(); canBusSerial.DiscardInBuffer();
int channel = ((drawerNo > 8 ? (drawerNo - 8) * 2 : (drawerNo * 2 - 1)) - 1) * this.labelCount + 10 + colNo; int channel = ((drawerNo > 8 ? (drawerNo - 8) * 2 : (drawerNo * 2 - 1)) - 1) * this.labelCount + 10 + colNo;
byte[] buffer = new byte[] { 0xaa, (byte)channel, 2, 0, 0, 0, 0, 0xee }; byte[] buffer = new byte[] { 0xaa, (byte)channel, 2, 0, 0, 0, 0, 0xee };
logger.Info($"刷新显示内容buffer:{Convert.ToHexString(buffer)}");
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
} }
catch (Exception ex) catch (Exception ex)
@ -1145,14 +1148,14 @@ namespace DM_Weight.Port
buffer[6] = (byte)(quantity & 0xff); buffer[6] = (byte)(quantity & 0xff);
logger.Info($"写入数量buffer:{Convert.ToHexString(buffer)}"); logger.Info($"写入数量buffer:{Convert.ToHexString(buffer)}");
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
Task<byte[]> task = GetBufferByPort(canBusSerial, 8); //Task<byte[]> task = GetBufferByPort(canBusSerial, 8);
if (task.Status == TaskStatus.Created) //if (task.Status == TaskStatus.Created)
{ //{
task.Start(); // task.Start();
} //}
byte[] bytes = task.Result; //byte[] bytes = task.Result;
logger.Info($"写入数量返回:" + Convert.ToHexString(bytes)); //logger.Info($"写入数量返回:" + Convert.ToHexString(bytes));
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@ -19,6 +19,8 @@ using DM_Weight.util;
using log4net; using log4net;
using System.Threading; using System.Threading;
using System.Reflection.Metadata.Ecma335; using System.Reflection.Metadata.Ecma335;
using System.Windows.Threading;
using System.Windows;
namespace DM_Weight.ViewModels namespace DM_Weight.ViewModels
{ {
@ -518,81 +520,78 @@ namespace DM_Weight.ViewModels
/// </summary> /// </summary>
public DelegateCommand ResetLabelCommand public DelegateCommand ResetLabelCommand
{ {
get => new DelegateCommand(() => get => new DelegateCommand(ResetLabelMethod, () => Status == false);
}
private void ResetLabelMethod()
{
if (Channels != null)
{ {
Task t = new Task(() =>
var SelectChannels = Channels.FindAll(item => item.IsSelected); {
var c = SelectChannels.Count; var SelectChannels = Channels.FindAll(item => item.IsSelected && item.BoardType == 5);
if (c > 0) var c = SelectChannels.Count;
{ if (c > 0)
List<Task> tasks = new List<Task>();
SelectChannels.ForEach(async item =>
{ {
//var channelStock = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.Chnguid == item.Id).ToList(); Status = true;
SelectChannels.ForEach(item =>
if (item.BoardType == 5)
{ {
Status = true;
if (item.DrugId == null) if (item.DrugId == null)
{ {
// 清除显示屏库位信息 // 清除显示屏库位信息
_portUtil.ClearContent(item.DrawerNo, item.ColNo); _portUtil.ClearContent(item.DrawerNo, item.ColNo);
//await Task.Delay(200000); Thread.Sleep(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo); _portUtil.ShowContent(item.DrawerNo, item.ColNo);
Thread.Sleep(200);
} }
else else
{ {
DrugInfo drugSelected = item.Drug; DrugInfo drugSelected = item.Drug ?? new DrugInfo();
_portUtil.WindowName = "BindingChannelDialog"; _portUtil.WindowName = "BindingChannelDialog";
// 向显示屏写入库位信息 // 向显示屏写入库位信息
_portUtil.WriteChannelInfo(1, drugSelected.DrugName, item.DrawerNo, item.ColNo); _portUtil.WriteChannelInfo(1, drugSelected.DrugName ?? "", item.DrawerNo, item.ColNo);
//await Task.Delay(200000000); Thread.Sleep(200);
//Thread.Sleep(200); _portUtil.WriteChannelInfo(2, drugSelected.DrugSpec ?? "", item.DrawerNo, item.ColNo);
tasks.Add(TaskSleep()); Thread.Sleep(200);
_portUtil.WriteChannelInfo(2, drugSelected.DrugSpec, item.DrawerNo, item.ColNo); _portUtil.WriteChannelInfo(8, drugSelected.Manufactory == null ? "" : drugSelected.Manufactory.Length > 10 ? drugSelected.Manufactory.Substring(0, 10) : drugSelected.Manufactory, item.DrawerNo, item.ColNo);
//await Task.Delay(200); Thread.Sleep(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.WriteChannelInfo(8, drugSelected.Manufactory.Length > 10 ? drugSelected.Manufactory.Substring(0, 10) : drugSelected.Manufactory, item.DrawerNo, item.ColNo);
//await Task.Delay(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo); _portUtil.ShowContent(item.DrawerNo, item.ColNo);
//_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo); Thread.Sleep(200);
//await Task.Delay(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.WriteQuantity(item.DrawerNo, item.ColNo, item.totalCount); _portUtil.WriteQuantity(item.DrawerNo, item.ColNo, item.totalCount);
//await Task.Delay(200);
} }
} });
}); }
Task.WhenAll(tasks); else
{
Application.Current.Dispatcher.Invoke(() =>
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("未选择库位或所选库位无标签");
});
}
});
t.Start();
t.ContinueWith(task =>
{
if (Status.Equals(true)) if (Status.Equals(true))
{ {
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
SnackbarMessageQueue.Enqueue("操作完成!");
Status = false; Status = false;
} Application.Current.Dispatcher.Invoke(() =>
GetChannelsByDrawerNo(); {
}
else
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c")); SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
SnackbarMessageQueue.Enqueue("请选择库位"); SnackbarMessageQueue.Enqueue("操作完成!");
return; GetChannelsByDrawerNo();
} });
}, () => Status == false); }
} });
static async Task TaskSleep() }
{
await Task.Delay(200);
} }
//static Task TaskSleep()
//{
// //await Task.Delay(200);
// Thread.Sleep(200);
//}
public DelegateCommand BtnCloseCommand public DelegateCommand BtnCloseCommand
{ {
get => new DelegateCommand(() => get => new DelegateCommand(() =>

View File

@ -250,7 +250,7 @@
InfoTextIsEnabel="True" InfoTextIsEnabel="True"
/> />
<materialDesign:Snackbar <materialDesign:Snackbar
Background="{Binding SnackbarBackground}" Background="{Binding SnackbarBackground,UpdateSourceTrigger=PropertyChanged}"
MessageQueue="{Binding SnackbarMessageQueue}"/> MessageQueue="{Binding SnackbarMessageQueue}"/>
</Grid> </Grid>
</UserControl> </UserControl>

View File

@ -26,7 +26,9 @@
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Image Grid.Column="0" Margin="30 0 30 0" HorizontalAlignment="Left" Width="Auto" Height="26" Source="/Images/logo.png" /> <!--<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"> <ListBox Name="ListBoxName" Grid.Column="1" SelectedItem="{Binding SelectedMenu}" ItemsSource="{Binding PremissionDmList}" HorizontalAlignment="Right">
<i:Interaction.Triggers> <i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged"> <i:EventTrigger EventName="SelectionChanged">