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