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> dic = new() { //3#车间补四宫格空箱任务 {1, new Dictionary() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "前往终点" }, { 3, "前往终点" }, { 4, "任务完成" }, } }, //3#车间从2#接驳位补充小托盘任务 {2, new Dictionary() { { 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() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "前往终点" }, { 3, "前往终点" }, { 4, "任务完成" }, } }, //3#接驳位到2#计量室接驳位的送料任务 {4, new Dictionary() { { 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() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "agv到达接驳位里面,等待料箱上agv" }, { 3, "agv正在退出2#接驳位" }, { 4, "agv前往终点" }, { 5, "agv前往终点" }, { 6, "任务完成" }, } }, //3#车间从色粉存放点补充小托盘任务 {6, new Dictionary() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "agv前往终点等待点" }, { 3, "等待点等待进入3#接驳位" }, { 4, "等待点等待进入3#接驳位" }, { 5, "agv正在进入3#接驳位" }, { 6, "agv到达终点接驳位,等待料箱离开agv" }, { 7, "agv正在退出终点接驳位" }, { 8, "任务完成" }, } }, //色粉存放点空托盘派送至2#接驳位 {7, new Dictionary() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "agv前往终点等待点" }, { 3, "等待点等待进入2#接驳位" }, { 4, "等待点等待进入2#接驳位" }, { 5, "agv正在进入2#接驳位" }, { 6, "agv到达终点接驳位,等待料箱离开agv" }, { 7, "agv正在退出终点接驳位" }, { 8, "任务完成" }, } }, {8, new Dictionary() { { 0, "任务创建,WCS未下发" }, { 1, "任务已下发,前往起始地" }, { 2, "前往终点" }, { 3, "前往终点" }, { 4, "任务完成" }, } }, {10, new Dictionary() { { 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(); } } }