diff --git a/DM_Weight/ViewModels/BindingChannelNewDialogViewModel .cs b/DM_Weight/ViewModels/BindingChannelNewDialogViewModel .cs
index e148304..a2c2c93 100644
--- a/DM_Weight/ViewModels/BindingChannelNewDialogViewModel .cs
+++ b/DM_Weight/ViewModels/BindingChannelNewDialogViewModel .cs
@@ -218,7 +218,15 @@ namespace DM_Weight.ViewModels
SetProperty(ref _pageSize, value);
}
}
-
+ ///
+ /// 渲染标签状态
+ ///
+ private bool _status = false;
+ public bool Status
+ {
+ get => _status;
+ set => SetProperty(ref _status, value);
+ }
public bool CanCloseDialog()
@@ -253,11 +261,11 @@ namespace DM_Weight.ViewModels
.OrderBy(cl => cl.DrawerNo)
.OrderBy(cl => cl.ColNo)
.ToPageList(PageNum, PageSize, ref totalCount);
- if(list!=null&&list.Count>0)
+ if (list != null && list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
- if(list[i].channelStocks!=null&& list[i].channelStocks.Count>0)
+ if (list[i].channelStocks != null && list[i].channelStocks.Count > 0)
{
for (int j = 0; j < list[i].channelStocks.Count; j++)
{
@@ -322,7 +330,7 @@ namespace DM_Weight.ViewModels
await Task.Delay(200);
_portUtil.WriteChannelInfo(2, DrugInfo.DrugSpec, item.DrawerNo, item.ColNo);
await Task.Delay(200);
- _portUtil.WriteChannelInfo(8, DrugInfo.Manufactory.Length>10? DrugInfo.Manufactory.Substring(0, 10): DrugInfo.Manufactory, item.DrawerNo, item.ColNo);
+ _portUtil.WriteChannelInfo(8, DrugInfo.Manufactory.Length > 10 ? DrugInfo.Manufactory.Substring(0, 10) : DrugInfo.Manufactory, item.DrawerNo, item.ColNo);
await Task.Delay(200);
//_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
//await Task.Delay(200);
@@ -360,7 +368,7 @@ namespace DM_Weight.ViewModels
if (c > 0)
{
- if(c>1)
+ if (c > 1)
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("同一药品不可绑多个库位");
@@ -399,8 +407,8 @@ namespace DM_Weight.ViewModels
SnackbarMessageQueue.Enqueue("该药品已绑定库位,不可绑定多个库位");
return;
}
- var channelStock = SqlSugarHelper.Db.Queryable().Where(cs => cs.Chnguid == item.Id&&cs.Quantity>0).ToList();
- if(channelStock.Count>0)
+ var channelStock = SqlSugarHelper.Db.Queryable().Where(cs => cs.Chnguid == item.Id && cs.Quantity > 0).ToList();
+ if (channelStock.Count > 0)
{
//有库存,不能解绑
@@ -485,7 +493,7 @@ namespace DM_Weight.ViewModels
//item.EffDate = null;
item.Drug = null;
SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId }).ExecuteCommand();
- SqlSugarHelper.Db.Updateable().SetColumns(it =>new ChannelStock { DrugId = null, ManuNo = null, EffDate = null} ).Where(it=>it.Chnguid==item.Id).ExecuteCommand();
+ SqlSugarHelper.Db.Updateable().SetColumns(it => new ChannelStock { DrugId = null, ManuNo = null, EffDate = null }).Where(it => it.Chnguid == item.Id).ExecuteCommand();
if (item.BoardType == 5)
{
// 清除显示屏库位信息
@@ -510,23 +518,29 @@ namespace DM_Weight.ViewModels
///
public DelegateCommand ResetLabelCommand
{
- get => new DelegateCommand(async () =>
+ get => new DelegateCommand(() =>
{
+
var SelectChannels = Channels.FindAll(item => item.IsSelected);
var c = SelectChannels.Count;
if (c > 0)
{
-
+ List tasks = new List();
SelectChannels.ForEach(async item =>
{
//var channelStock = SqlSugarHelper.Db.Queryable().Where(cs => cs.Chnguid == item.Id).ToList();
+
if (item.BoardType == 5)
{
+
+ Status = true;
if (item.DrugId == null)
{
// 清除显示屏库位信息
_portUtil.ClearContent(item.DrawerNo, item.ColNo);
- await Task.Delay(200);
+ //await Task.Delay(200000);
+ //Thread.Sleep(200);
+ tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo);
}
else
@@ -535,23 +549,36 @@ namespace DM_Weight.ViewModels
_portUtil.WindowName = "BindingChannelDialog";
// 向显示屏写入库位信息
_portUtil.WriteChannelInfo(1, drugSelected.DrugName, item.DrawerNo, item.ColNo);
- await Task.Delay(200);
+ //await Task.Delay(200000000);
+ //Thread.Sleep(200);
+ tasks.Add(TaskSleep());
_portUtil.WriteChannelInfo(2, drugSelected.DrugSpec, item.DrawerNo, item.ColNo);
- await Task.Delay(200);
+ //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);
+ //await Task.Delay(200);
+ //Thread.Sleep(200);
+ tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo);
//_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
- await Task.Delay(200);
+ //await Task.Delay(200);
+ //Thread.Sleep(200);
+ tasks.Add(TaskSleep());
_portUtil.WriteQuantity(item.DrawerNo, item.ColNo, item.totalCount);
//await Task.Delay(200);
}
- SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
- SnackbarMessageQueue.Enqueue("标签渲染完成!");
- return;
}
});
- //GetChannelsByDrawerNo();
+ Task.WhenAll(tasks);
+
+ if (Status.Equals(true))
+ {
+ SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
+ SnackbarMessageQueue.Enqueue("标签渲染完成!");
+ Status = false;
+ }
+ GetChannelsByDrawerNo();
}
else
{
@@ -560,7 +587,11 @@ namespace DM_Weight.ViewModels
SnackbarMessageQueue.Enqueue("请选择库位");
return;
}
- });
+ }, () => Status == false);
+ }
+ static async Task TaskSleep()
+ {
+ await Task.Delay(200);
}
public DelegateCommand BtnCloseCommand
{