using System; using SqlSugar; namespace HH.WCS.Mobox3.RiDong.models; /// /// 任务模型 /// [SugarTable("TN_Task")] public class Task : BaseModel { /// /// 任务状态(0:等待、1:已推送、2:执行中、3:完成、4:错误、5:取消) /// public int N_B_STATE { get; set; } = 0; /// /// 任务状态(中文)(0:等待、1:已推送、2:执行中、3:完成、4:错误、5:取消) /// public string S_B_STATE { get; set; } = "等待"; /// /// 作业编码 /// public string S_OP_CODE { get; set; } /// /// 任务号 /// public string S_CODE { get; set; } /// /// 任务类型(数值)(1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:指引出库,6:紧急出库,7:空托出库) /// public int N_TYPE { get; set; } /// /// 任务类型(字符串)(1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:指引出库,6:紧急出库,7:空托出库) /// public string S_TYPE { get; set; } /// /// 起点货位 /// public string S_START_LOC { get; set; } /// /// 终点货位 /// public string S_END_LOC { get; set; } /// /// 设备类型(1:输送线,2:agv,3:提升机) /// public int N_SCHEDULE_TYPE { get; set; } /// /// 设备类型(1:输送线,2:agv,3:提升机) /// public string S_SCHEDULE_TYPE { get; set; } /// /// 任务开始时间 /// public DateTime? T_START_TIME { get; set; } /// /// 任务结束时间 /// public DateTime? T_END_TIME { get; set; } /// /// 作业优先级 /// public int N_PRIORITY { get; set; } /// /// 容器编码 /// public string S_CNTR_CODE { get; set; } /// /// 任务名称 /// public string S_OP_NAME { get; set; } /// /// 起点仓库 /// public string S_START_WH { get; set; } = "RDCK"; /// /// 起点库区 /// public string S_START_AREA { get; set; } = "RDKQ"; /// /// 终点仓库 /// public string S_END_WH { get; set; } = "RDCK"; /// /// 终点库区 /// public string S_END_AREA { get; set; } = "RDKQ"; /// /// 配盘单号 /// public string S_DC_NO { get; set; } /// /// 巷道 /// public int N_ROADWAY{ get; set; } internal static string GetStateStr(int state) { //0等待 1已推送 2执行 3完成 4错误 var status = ""; switch (state) { case 0: status = "等待"; break; case 1: status = "已推送"; break; case 2: status = "执行"; break; case 3: status = "完成"; break; case 4: status = "错误"; break; case 5: status = "取消"; break; case 6: status = "紧急出库"; break; } return status; } internal static string GetStateType(int state) { //(1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:特殊任务) var status = ""; switch (state) { case 1: status = "常规入库"; break; case 2: status = "常规出库"; break; case 3: status = "盘点入库"; break; case 4: status = "盘点出库"; break; case 5: status = "指引出库"; break; case 6: status = "紧急出库"; break; case 7: status = "空托出库"; break; } return status; } /// /// 根据任务类型获取设备状态 /// /// 任务类型 /// 第几条任务 /// public static int GetScheduleTypetoInt(int v, int num) { int result = 0; // 入库 if (v == 1 || v == 3) { // 第一条任务是输送线 if (num == 1) { // 返回输送线的标志 result = 1; } // 第二条任务是agv if(num == 2) { // 返回agv的标志 result = 2; } } // 出库 else if (v == 2 || v == 4 || v == 5 || v == 7) { // 第一条任务是agv if (num == 1) { // 返回agv的标志 result = 2; } // 第二条任务是输送线 if(num == 2) { // 返回输送线的标志 result = 1; } } return result; } /// /// 根据任务类型获取设备状态 /// /// 任务类型 /// 第几条任务 /// public static string GetScheduleTypetoStr(int v, int num) { string result = ""; // 入库 if (v == 1 || v == 3) { // 第一条任务是输送线 if (num == 1) { // 返回输送线的标志 result = "输送线"; } // 第二条任务是agv if(num == 2) { // 返回agv的标志 result = "agv"; } } // 出库 else if (v == 2 || v == 4 || v == 5 || v == 7) { // 第一条任务是agv if (num == 1) { // 返回agv的标志 result = "agv"; } // 第二条任务是输送线 if(num == 2) { // 返回输送线的标志 result = "输送线"; } } return result; } }