From 9696d374b9378b01f1c4ad0246403efdc1fe515b Mon Sep 17 00:00:00 2001
From: maqiao <625215135@qq.com>
Date: Thu, 29 Feb 2024 13:10:12 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B8=B2=E6=9F=93=E6=A0=87?=
=?UTF-8?q?=E7=AD=BE=E6=97=B6=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DM_Weight/App.config | 2 +-
DM_Weight/Port/PortUtil.cs | 17 +--
.../BindingChannelNewDialogViewModel.cs | 105 +++++++++---------
.../Views/Dialog/BindingChannelNewDialog.xaml | 2 +-
DM_Weight/Views/HomeWindow.xaml | 4 +-
5 files changed, 67 insertions(+), 63 deletions(-)
diff --git a/DM_Weight/App.config b/DM_Weight/App.config
index 6dbd23f..37d69bf 100644
--- a/DM_Weight/App.config
+++ b/DM_Weight/App.config
@@ -20,7 +20,7 @@
-
+
diff --git a/DM_Weight/Port/PortUtil.cs b/DM_Weight/Port/PortUtil.cs
index 77875a0..9545e42 100644
--- a/DM_Weight/Port/PortUtil.cs
+++ b/DM_Weight/Port/PortUtil.cs
@@ -1041,6 +1041,7 @@ namespace DM_Weight.Port
Array.Resize(ref contentBuf, contentBuf.Length + 1);
}
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);
//await Task.Delay(20);
Thread.Sleep(20);
@@ -1050,6 +1051,7 @@ namespace DM_Weight.Port
buffer[5] = contentBuf[i];
buffer[6] = contentBuf[i + 1];
canBusSerial.Write(buffer, 0, 8);
+ logger.Info($"buffer:{Convert.ToHexString(buffer)}");
//await Task.Delay(20);
Thread.Sleep(20);
}
@@ -1089,6 +1091,7 @@ namespace DM_Weight.Port
canBusSerial.DiscardInBuffer();
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 };
+ logger.Info($"刷新显示内容buffer:{Convert.ToHexString(buffer)}");
canBusSerial.Write(buffer, 0, 8);
}
catch (Exception ex)
@@ -1145,14 +1148,14 @@ namespace DM_Weight.Port
buffer[6] = (byte)(quantity & 0xff);
logger.Info($"写入数量buffer:{Convert.ToHexString(buffer)}");
canBusSerial.Write(buffer, 0, 8);
- Task task = GetBufferByPort(canBusSerial, 8);
- if (task.Status == TaskStatus.Created)
- {
- task.Start();
+ //Task task = GetBufferByPort(canBusSerial, 8);
+ //if (task.Status == TaskStatus.Created)
+ //{
+ // task.Start();
- }
- byte[] bytes = task.Result;
- logger.Info($"写入数量返回:" + Convert.ToHexString(bytes));
+ //}
+ //byte[] bytes = task.Result;
+ //logger.Info($"写入数量返回:" + Convert.ToHexString(bytes));
}
catch (Exception ex)
{
diff --git a/DM_Weight/ViewModels/BindingChannelNewDialogViewModel.cs b/DM_Weight/ViewModels/BindingChannelNewDialogViewModel.cs
index acb7f06..c0af7f4 100644
--- a/DM_Weight/ViewModels/BindingChannelNewDialogViewModel.cs
+++ b/DM_Weight/ViewModels/BindingChannelNewDialogViewModel.cs
@@ -19,6 +19,8 @@ using DM_Weight.util;
using log4net;
using System.Threading;
using System.Reflection.Metadata.Ecma335;
+using System.Windows.Threading;
+using System.Windows;
namespace DM_Weight.ViewModels
{
@@ -518,81 +520,78 @@ namespace DM_Weight.ViewModels
///
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);
- var c = SelectChannels.Count;
- if (c > 0)
- {
- List tasks = new List();
- SelectChannels.ForEach(async item =>
+ Task t = new Task(() =>
+ {
+ var SelectChannels = Channels.FindAll(item => item.IsSelected && item.BoardType == 5);
+ var c = SelectChannels.Count;
+ if (c > 0)
{
- //var channelStock = SqlSugarHelper.Db.Queryable().Where(cs => cs.Chnguid == item.Id).ToList();
-
- if (item.BoardType == 5)
+ Status = true;
+ SelectChannels.ForEach(item =>
{
-
- Status = true;
if (item.DrugId == null)
{
// 清除显示屏库位信息
_portUtil.ClearContent(item.DrawerNo, item.ColNo);
- //await Task.Delay(200000);
- //Thread.Sleep(200);
- tasks.Add(TaskSleep());
+ Thread.Sleep(200);
_portUtil.ShowContent(item.DrawerNo, item.ColNo);
+ Thread.Sleep(200);
}
else
{
- DrugInfo drugSelected = item.Drug;
+ DrugInfo drugSelected = item.Drug ?? new DrugInfo();
_portUtil.WindowName = "BindingChannelDialog";
// 向显示屏写入库位信息
- _portUtil.WriteChannelInfo(1, drugSelected.DrugName, item.DrawerNo, item.ColNo);
- //await Task.Delay(200000000);
- //Thread.Sleep(200);
- tasks.Add(TaskSleep());
- _portUtil.WriteChannelInfo(2, drugSelected.DrugSpec, item.DrawerNo, item.ColNo);
- //await Task.Delay(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.WriteChannelInfo(1, drugSelected.DrugName ?? "", item.DrawerNo, item.ColNo);
+ Thread.Sleep(200);
+ _portUtil.WriteChannelInfo(2, drugSelected.DrugSpec ?? "", item.DrawerNo, item.ColNo);
+ Thread.Sleep(200);
+ _portUtil.WriteChannelInfo(8, drugSelected.Manufactory == null ? "" : drugSelected.Manufactory.Length > 10 ? drugSelected.Manufactory.Substring(0, 10) : drugSelected.Manufactory, item.DrawerNo, item.ColNo);
+ Thread.Sleep(200);
_portUtil.ShowContent(item.DrawerNo, item.ColNo);
- //_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
- //await Task.Delay(200);
- //Thread.Sleep(200);
- tasks.Add(TaskSleep());
+ Thread.Sleep(200);
_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))
{
- SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
- SnackbarMessageQueue.Enqueue("操作完成!");
Status = false;
- }
- GetChannelsByDrawerNo();
- }
- 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("#00e676"));
+ SnackbarMessageQueue.Enqueue("操作完成!");
+ GetChannelsByDrawerNo();
+ });
+ }
+ });
+ }
}
+ //static Task TaskSleep()
+ //{
+ // //await Task.Delay(200);
+ // Thread.Sleep(200);
+ //}
public DelegateCommand BtnCloseCommand
{
get => new DelegateCommand(() =>
diff --git a/DM_Weight/Views/Dialog/BindingChannelNewDialog.xaml b/DM_Weight/Views/Dialog/BindingChannelNewDialog.xaml
index 04f041f..6e1f72c 100644
--- a/DM_Weight/Views/Dialog/BindingChannelNewDialog.xaml
+++ b/DM_Weight/Views/Dialog/BindingChannelNewDialog.xaml
@@ -250,7 +250,7 @@
InfoTextIsEnabel="True"
/>
diff --git a/DM_Weight/Views/HomeWindow.xaml b/DM_Weight/Views/HomeWindow.xaml
index 40ca609..56d8980 100644
--- a/DM_Weight/Views/HomeWindow.xaml
+++ b/DM_Weight/Views/HomeWindow.xaml
@@ -26,7 +26,9 @@
-
+
+
+