You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

167 lines
6.2 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using SlnMesnac.Model.domain;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace SlnMesnac.WPF.Converter.Index
{
public class WcsTaskStatusConvert : IValueConverter
{
private Dictionary<int, Dictionary<int, string>> dic = new()
{
//3#车间补四宫格空箱任务
{1,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "前往终点" },
{ 3, "前往终点" },
{ 4, "任务完成" },
}
},
//3#车间从2#接驳位补充小托盘任务
{2,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "agv到达接驳位里面等待料箱上agv" },
{ 3, "agv正在退出2#接驳位" },
{ 4, "agv前往终点" },
{ 5, "agv前往终点" },
{ 6, "agv到达终点等待点等待进入接驳位" },
{ 7, "agv正在进入接驳位" },
{ 8, "agv到达终点接驳位等待料箱离开agv" },
{ 9, "agv正在退出终点接驳位" },
{ 10, "任务完成" },
}
},
//3#车间从下料点到1-16机台送料任务
{3,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "前往终点" },
{ 3, "前往终点" },
{ 4, "任务完成" },
}
},
//3#接驳位到2#计量室接驳位的送料任务
{4,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "agv到达接驳位里面等待料箱上agv" },
{ 3, "agv正在退出3#接驳位" },
{ 4, "agv前往终点2#接驳位" },
{ 5, "agv前往终点2#接驳位" },
{ 6, "agv到达终点等待点等待进入接驳位" },
{ 7, "agv正在进入接驳位" },
{ 8, "agv到达终点接驳位等待料箱离开agv" },
{ 9, "agv正在退出终点接驳位" },
{ 10, "任务完成" },
}
},
//2#接驳位色粉派送至色粉存放点
{5,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "agv到达接驳位里面等待料箱上agv" },
{ 3, "agv正在退出2#接驳位" },
{ 4, "agv前往终点" },
{ 5, "agv前往终点" },
{ 6, "任务完成" },
}
},
//3#车间从色粉存放点补充小托盘任务
{6,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "agv前往终点等待点" },
{ 3, "等待点等待进入3#接驳位" },
{ 4, "等待点等待进入3#接驳位" },
{ 5, "agv正在进入3#接驳位" },
{ 6, "agv到达终点接驳位等待料箱离开agv" },
{ 7, "agv正在退出终点接驳位" },
{ 8, "任务完成" },
}
},
//色粉存放点空托盘派送至2#接驳位
{7,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "agv前往终点等待点" },
{ 3, "等待点等待进入2#接驳位" },
{ 4, "等待点等待进入2#接驳位" },
{ 5, "agv正在进入2#接驳位" },
{ 6, "agv到达终点接驳位等待料箱离开agv" },
{ 7, "agv正在退出终点接驳位" },
{ 8, "任务完成" },
}
},
{8,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "前往终点" },
{ 3, "前往终点" },
{ 4, "任务完成" },
}
},
{10,
new Dictionary<int, string>()
{
{ 0, "任务创建,WCS未下发" },
{ 1, "任务已下发,前往起始地" },
{ 2, "前往终点" },
{ 3, "前往终点" },
{ 4, "任务完成" },
}
}
};
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is WcsTask wcsTask)
{
if (dic.TryGetValue(wcsTask.TaskType, out var taskStatusDic))
{
if (taskStatusDic.TryGetValue(wcsTask.TaskStatus, out var taskStatus))
{
return taskStatus;
}
}
}
else if (value is WcsTaskLog wcsTaskLog)
{
if (dic.TryGetValue(wcsTaskLog.TaskType, out var taskStatusDic))
{
if (taskStatusDic.TryGetValue(wcsTaskLog.TaskStatus, out var taskStatus))
{
return taskStatus;
}
}
}
return "未知";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}