using System;
|
using SqlSugar;
|
|
namespace HH.WCS.Mobox3.RiDong.models;
|
|
/// <summary>
|
/// 任务模型
|
/// </summary>
|
[SugarTable("TN_Task")]
|
public class Task : BaseModel
|
{
|
/// <summary>
|
/// 任务状态(0:等待、1:已推送、2:执行中、3:完成、4:错误、5:取消)
|
/// </summary>
|
public int N_B_STATE { get; set; } = 0;
|
|
/// <summary>
|
/// 任务状态(中文)(0:等待、1:已推送、2:执行中、3:完成、4:错误、5:取消)
|
/// </summary>
|
public string S_B_STATE { get; set; } = "等待";
|
|
/// <summary>
|
/// 作业编码
|
/// </summary>
|
public string S_OP_CODE { get; set; }
|
|
/// <summary>
|
/// 任务号
|
/// </summary>
|
public string S_CODE { get; set; }
|
|
/// <summary>
|
/// 任务类型(数值)(1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:指引出库,6:紧急出库,7:空托出库)
|
/// </summary>
|
public int N_TYPE { get; set; }
|
|
/// <summary>
|
/// 任务类型(字符串)(1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:指引出库,6:紧急出库,7:空托出库)
|
/// </summary>
|
public string S_TYPE { get; set; }
|
|
/// <summary>
|
/// 起点货位
|
/// </summary>
|
public string S_START_LOC { get; set; }
|
|
/// <summary>
|
/// 终点货位
|
/// </summary>
|
public string S_END_LOC { get; set; }
|
|
/// <summary>
|
/// 设备类型(1:输送线,2:agv,3:提升机)
|
/// </summary>
|
public int N_SCHEDULE_TYPE { get; set; }
|
|
/// <summary>
|
/// 设备类型(1:输送线,2:agv,3:提升机)
|
/// </summary>
|
public string S_SCHEDULE_TYPE { get; set; }
|
|
/// <summary>
|
/// 任务开始时间
|
/// </summary>
|
public DateTime? T_START_TIME { get; set; }
|
|
/// <summary>
|
/// 任务结束时间
|
/// </summary>
|
public DateTime? T_END_TIME { get; set; }
|
|
/// <summary>
|
/// 作业优先级
|
/// </summary>
|
public int N_PRIORITY { get; set; }
|
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
public string S_CNTR_CODE { get; set; }
|
|
/// <summary>
|
/// 任务名称
|
/// </summary>
|
public string S_OP_NAME { get; set; }
|
|
/// <summary>
|
/// 起点仓库
|
/// </summary>
|
public string S_START_WH { get; set; } = "RDCK";
|
|
/// <summary>
|
/// 起点库区
|
/// </summary>
|
public string S_START_AREA { get; set; } = "RDKQ";
|
|
/// <summary>
|
/// 终点仓库
|
/// </summary>
|
public string S_END_WH { get; set; } = "RDCK";
|
|
/// <summary>
|
/// 终点库区
|
/// </summary>
|
public string S_END_AREA { get; set; } = "RDKQ";
|
|
/// <summary>
|
/// 配盘单号
|
/// </summary>
|
public string S_DC_NO { 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;
|
}
|
|
/// <summary>
|
/// 根据任务类型获取设备状态
|
/// </summary>
|
/// <param name="v">任务类型</param>
|
/// <param name="num">第几条任务</param>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// 根据任务类型获取设备状态
|
/// </summary>
|
/// <param name="v">任务类型</param>
|
/// <param name="num">第几条任务</param>
|
/// <returns></returns>
|
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;
|
}
|
}
|