渲染标签添加提示消息

This commit is contained in:
maqiao 2024-02-28 10:06:11 +08:00
parent 9aeafa2552
commit a23fcb0599
1 changed files with 51 additions and 20 deletions

View File

@ -218,7 +218,15 @@ namespace DM_Weight.ViewModels
SetProperty(ref _pageSize, value);
}
}
/// <summary>
/// 渲染标签状态
/// </summary>
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<ChannelStock>().Where(cs => cs.Chnguid == item.Id&&cs.Quantity>0).ToList();
if(channelStock.Count>0)
var channelStock = SqlSugarHelper.Db.Queryable<ChannelStock>().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<ChannelStock>().SetColumns(it =>new ChannelStock { DrugId = null, ManuNo = null, EffDate = null} ).Where(it=>it.Chnguid==item.Id).ExecuteCommand();
SqlSugarHelper.Db.Updateable<ChannelStock>().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
/// </summary>
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<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;
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
{