using HH.WCS.Mobox3.RiDong.generalMethod;
using SqlSugar;
using DateTime = System.DateTime;
namespace HH.WCS.Mobox3.RiDong.models;
///
/// 作业表
///
[SugarTable("TN_Operation")]
public class Operation : BaseModel
{
///
/// 业务状态(0:等待,1:执行,2:完成,3:错误,4:启动失败,5:暂停启动,6:任务未创建、7:任务取消)
///
public string S_B_STATE { get; set; } = "等待";
///
/// 业务状态(0:等待,1:执行,2:完成,3:错误,4:启动失败,5:暂停启动,6:任务未创建、7:任务取消)
///
public int N_B_STATE { get; set; }
///
/// 当前任务状态(各个设备交互点,进度:根据项目自定义)
///
public string S_TASK_STATE { get; set; }
///
/// 作业编码
///
public string S_CODE { get; set; }
///
/// 起点货位
///
public string S_START_LOC { get; set; }
///
/// 扩展字段(用来当作中转货位)
///
public string S_EXT_ATTR1 { get; set; }
///
/// 扩展字段(任务组)
///
public int S_EXT_ATTR2 { get; set; }
///
/// 终点货位
///
public string S_END_LOC { get; set; }
///
/// 作业类型(1:常规入库,2:常规出库,3:盘点入库,4:盘点出库,5:指引出库,6:紧急出库)
///
public string S_TYPE { get; set; }
///
/// 作业类型(1:常规入库,2:常规出库,3:盘点入库,4:盘点出库,5:指引出库,6:紧急出库)
///
public int N_TYPE { get; set; }
///
/// 作业定义名称
///
public string S_OP_DEF_NAME { get; set; }
///
/// 任务开始时间
///
public DateTime T_START_TIME { get; set; }
///
/// 任务结束时间
///
public DateTime T_END_TIME { get; set; }
///
/// 容器编码
///
public string S_CNTR_CODE { get; set; }
///
/// 托盘类型(新增字段)(0:子拖,1:母拖)
///
public int N_CNTR_TYPE { get; set; } = 1;
///
/// mobox脚本自动运行启动开关
///
public string C_AUTO_START { get; set; } = "N";
///
/// 起点仓库
///
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 string S_COUNT_NO { get; set; }
///
/// 出库方向
///
public string S_OUT_TARGET { get; set; }
///
/// 巷道
///
public int N_ROADWAY { get; set; }
///
/// 0 等待/1 执行/2 完成/3 错误/4 启劢失败 /5 暂停启劢
///
///
internal static string GetStateStr(int state) {
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;
case 7: status = "任务取消"; break;
}
return status;
}
///
/// 根据传递数字判断任务类型
/// 1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:退库任务
///
///
///
internal static string GetTypeStr(int v) {
var str = "";
switch (v) {
case 1: str = "常规入库"; break;
case 2: str = "常规出库"; break;
case 3: str = "盘点入库"; break;
case 4: str = "盘点出库"; break;
case 5: str = "指引出库"; break;
case 6: str = "紧急出库"; break;
case 7: str = "空托出库"; break;
}
return str;
}
///
/// 根据传递数字判断任务类型
/// 1:常规入库、2:常规出库、3:盘点入库、4:盘点出库、5:退库任务
///
///
///
internal static int GetGroup(int v) {
var str = 0;
switch (v) {
case 0: str = 0; break;
case 1: str = 1; break;
case 2: str = 1; break;
case 3: str = 2; break;
case 4: str = 2; break;
case 5: str = 3; break;
}
return str;
}
///
/// 根据传递货位,找到对应的立库区
///
///
///
public static string GetArea(string loc)
{
var location = AdoSqlMethod.QueryFirst(p=>p.S_CODE == loc);
return location.S_AREA_CODE;
}
}