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#

7 months ago
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();
}
}
}