修改渲染标签时提示信息
This commit is contained in:
		
							parent
							
								
									a450ef661d
								
							
						
					
					
						commit
						9696d374b9
					
				| 
						 | 
					@ -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:药品-->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
				
			||||||
                var SelectChannels = Channels.FindAll(item => item.IsSelected);
 | 
					            {
 | 
				
			||||||
 | 
					                Task t = new Task(() =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var SelectChannels = Channels.FindAll(item => item.IsSelected && item.BoardType == 5);
 | 
				
			||||||
                    var c = SelectChannels.Count;
 | 
					                    var c = SelectChannels.Count;
 | 
				
			||||||
                    if (c > 0)
 | 
					                    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();
 | 
					 | 
				
			||||||
                     
 | 
					 | 
				
			||||||
                        if (item.BoardType == 5)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        Status = true;
 | 
					                        Status = true;
 | 
				
			||||||
 | 
					                        SelectChannels.ForEach(item =>
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
                            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);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (Status.Equals(true))
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
					 | 
				
			||||||
                        SnackbarMessageQueue.Enqueue("操作完成!");
 | 
					 | 
				
			||||||
                        Status = false;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    GetChannelsByDrawerNo();
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    else
 | 
					                    else
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
 | 
					                        Application.Current.Dispatcher.Invoke(() =>
 | 
				
			||||||
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
					 | 
				
			||||||
                    SnackbarMessageQueue.Enqueue("请选择库位");
 | 
					 | 
				
			||||||
                    return;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }, () => Status == false);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        static async Task TaskSleep()
 | 
					 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
            await Task.Delay(200);
 | 
					                            SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
				
			||||||
 | 
					                            SnackbarMessageQueue.Enqueue("未选择库位或所选库位无标签");
 | 
				
			||||||
 | 
					                        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                t.Start();
 | 
				
			||||||
 | 
					                t.ContinueWith(task =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (Status.Equals(true))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        Status = false;
 | 
				
			||||||
 | 
					                        Application.Current.Dispatcher.Invoke(() =>
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
				
			||||||
 | 
					                            SnackbarMessageQueue.Enqueue("操作完成!");
 | 
				
			||||||
 | 
					                            GetChannelsByDrawerNo();
 | 
				
			||||||
 | 
					                        });
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        //static Task TaskSleep()
 | 
				
			||||||
 | 
					        //{
 | 
				
			||||||
 | 
					        //    //await Task.Delay(200);
 | 
				
			||||||
 | 
					        //    Thread.Sleep(200);
 | 
				
			||||||
 | 
					        //}
 | 
				
			||||||
        public DelegateCommand BtnCloseCommand
 | 
					        public DelegateCommand BtnCloseCommand
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => new DelegateCommand(() =>
 | 
					            get => new DelegateCommand(() =>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue