using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WCS.Data.Models
{
public enum TASK_COMTYPEEnum
{
入库 = 1,
出库 = 2,
移库 = 3,
搬运 = 4,
移动 = 5
}
public class WCS_TASK
{
///
/// WCS任务号
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int TASK_NO { get; set; }
///
/// WMS任务号
///
public string TASK_WMSNO { get; set; }
public int TASK_COMTYPE { get; set; }
[SugarColumn(IsIgnore = true)]
public TASK_COMTYPEEnum TASK_COMTYPECh
{
get
{
return (TASK_COMTYPEEnum)TASK_COMTYPE;
}
}
///
/// 生成系统
///
public string TASK_SYSTYPE { get; set; }
///
/// 起始地址
///
public string TASK_POSIDFROM { get; set; }
///
/// 当前地址
///
public string TASK_POSIDCUR { get; set; }
///
/// 下一个地址
///
public string TASK_POSIDNEXT { get; set; }
///
/// 目标地址
///
public string TASK_POSIDTO { get; set; }
public string TASK_POSIDMOVE { get; set; }
public int TASK_PRIORITY { get; set; }
///
/// 状态
///
public int TASK_WKSTATUS { get; set; }
public string TASK_WHID { get; set; }
public string TASK_ADDUSERNO { get; set; }
///
/// 任务生成时间
///
public DateTime TASK_ADDDATETIME { get; set; }
public string TASK_EDITUSERNO { get; set; }
///
/// 任务结束时间
///
public DateTime TASK_EDITDATETIME { get; set; }
///
/// 是否缠膜(1.缠膜;0.不缠膜)
///
public string TASK_NOTES { get; set; }
public string TASK_SRMNO { get; set; }
///
/// rgv编号
///
public string TASK_RGVNO { get; set; }
public int TASK_ORDERTYPE { get; set; }
///
/// 条码
///
public string TASK_BOXBARCODE { get; set; }
///
/// 起始巷道号
///
public string TASK_FromTunnelNum { get; set; }
///
/// 目标巷道号
///
public string TASK_EndTunnelNum { get; set; }
///
/// 熟化类型(0=不需熟化、1=熟化房熟化、2=小烘房熟化)
///
public int TASK_MatureType { get; set; }
///
/// 熟化时间
///
public decimal TASK_MatureDate { get; set; }
///
/// 重量
///
public decimal TASK_WEIGHT { get; set; }
///
/// 垛型
///
public int TASK_STACKINGTYPE { get; set; }
///
/// 熟化次数
///
public int? MatureNum { get; set; }
//{
// get
// {
// if (TASK_MatureDate == 48)
// {
// return Convert.ToInt32(TASK_MatureDate) / 12;
// }
// else
// {
// return 1;
// }
// }
//}
///
/// 熟化温度(小数)
///
public decimal TASK_MatureTemperat { get; set; }
///
/// 进入熟化房时间
///
public DateTime? TASK_InMatureRoomDate { get; set; }
///
/// 离开熟化房时间
///
public DateTime? TASK_OutMatureRoomDate { get; set; }
///
/// 重量
///
public decimal TASK_GrossWeight { get; set; }
///
/// 是否缠膜(1.缠膜;0.不缠膜)
///
public bool TASK_IsWrapFilm { get; set; }
///
/// 预分配堆垛机出口输送线编号
///
//public string TASK_SRMOUTCONVNO { get; set; }
///
/// 机械手:子托盘的尺寸编码
///
public string PalletizingSonTraySize { get; set; }
///
/// 机械手:码垛的箱子尺寸编码
///
public string PalletizingBoxSize { get; set; }
///
/// 子托盘颜色编号(1蓝:,2:白,3:绿)
///
public int? SonTrayColorNo { get; set; }
///
/// 分组编号
///
public string TASK_ITEM1 { get; set; }
///
/// 托盘类型(1.原膜托盘 2.熟化架 3.成品托盘 4.空托盘组)
///
public string TASK_ITEM2 { get; set; }
///
/// 是否空盘(1.空盘 2.非空盘)
///
public string TASK_ITEM3 { get; set; }
///
/// RGV起点地址
///
public string TASK_ITEM4 { get; set; }
///
/// 原膜托盘上卷一条码(领料)
///
public string TASK_ITEM5 { get; set; }
///
/// 原膜托盘上卷二条码(领料)
///
public string TASK_ITEM6 { get; set; }
///
/// 预分配堆垛机巷道列表
///
public string TASK_ITEM7 { get; set; }
///
/// AGV任务Id
///
public string TASK_ITEM8 { get; set; }
///
/// 退料原膜卷条码一,(机械手:码垛的箱子尺寸编码)
///
public string TASK_ITEM9 { get; set; }
///
/// 退料原膜卷条码二,(机械手:子托盘的尺寸编码)
///
public string TASK_ITEM10 { get; set; }
/////
/////
/////
//public string TASK_ITEM11 { get; set; }
//public string TASK_ITEM12 { get; set; }
//public string TASK_ITEM13 { get; set; }
//public string TASK_ITEM14 { get; set; }
//public string TASK_ITEM15 { get; set; }
//public string TASK_ITEM16 { get; set; }
[SugarColumn(IsIgnore = true)]
public List FromLocation
{
get
{
return TASK_POSIDFROM.Split('-').ToList();
}
}
[SugarColumn(IsIgnore = true)]
public string FromNo
{
get
{
return FromLocation[0];
}
}
[SugarColumn(IsIgnore = true)]
public int FromRow
{
get
{
try
{
return Convert.ToInt32(FromLocation[1]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]起点地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDFROM));
}
}
}
[SugarColumn(IsIgnore = true)]
public string TASK_POSIDTO_SHORT
{
get
{
if (TASK_POSIDTO.Length > 4)
{
return TASK_POSIDTO.Substring(0, 4);
}
else
{
return TASK_POSIDTO;
}
}
}
[SugarColumn(IsIgnore = true)]
public int FromCol
{
get
{
try
{
return Convert.ToInt32(FromLocation[2]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]起点地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDFROM));
}
}
}
[SugarColumn(IsIgnore = true)]
public int FromLayer
{
get
{
try
{
return Convert.ToInt32(FromLocation[3]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]起点地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDFROM));
}
}
}
[SugarColumn(IsIgnore = true)]
public int FromDepth
{
get
{
try
{
return Convert.ToInt32(FromLocation[4]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]起点地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDFROM));
}
}
}
[SugarColumn(IsIgnore = true)]
public int FromSingleDepthRow
{
get
{
return 1;
}
}
[SugarColumn(IsIgnore = true)]
public List ToLocation
{
get
{
return TASK_POSIDTO.Split('-').ToList();
}
}
[SugarColumn(IsIgnore = true)]
public string ToNo
{
get
{
return FromLocation[0];
}
}
[SugarColumn(IsIgnore = true)]
public int ToRow
{
get
{
try
{
return Convert.ToInt32(ToLocation[1]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]目标地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDTO));
}
}
}
[SugarColumn(IsIgnore = true)]
public int ToCol
{
get
{
try
{
return Convert.ToInt32(ToLocation[2]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]目标地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDTO));
}
}
}
[SugarColumn(IsIgnore = true)]
public int ToLayer
{
get
{
try
{
return Convert.ToInt32(ToLocation[3]);
}
catch (Exception ex)
{
throw new Exception(string.Format("任务[{0}]目标地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDTO));
}
}
}
[SugarColumn(IsIgnore = true)]
public int ToDepth
{
get
{
try
{
return Convert.ToInt32(ToLocation[4]);
}
catch (Exception)
{
throw new Exception(string.Format("任务[{0}]目标地址[{1}]不正确,堆垛机无法执行。", TASK_NO, TASK_POSIDTO));
}
}
}
public WCS_TASK QainClone()
{
return MemberwiseClone() as WCS_TASK;
}
}
public class WCS_TASK_DTL
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
public string ID { get; set; }
public int PARENTID { get; set; }
public int TASKNO { get; set; }
public string POSIDCUR { get; set; }
public string POSIDNEXT { get; set; }
public string DESCRIPTION { get; set; }
public string NOTES { get; set; }
public DateTime EXECUTEDATE { get; set; }
}
public class WCS_TASK_DIS
{
///
/// WCS任务号
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
public int TASK_NO { get; set; }
///
/// WMS任务号
///
public string TASK_WMSNO { get; set; }
public int TASK_COMTYPE { get; set; }
public string TASK_SYSTYPE { get; set; }
public string TASK_POSIDFROM { get; set; }
public string TASK_POSIDCUR { get; set; }
public string TASK_POSIDNEXT { get; set; }
public string TASK_POSIDTO { get; set; }
public string TASK_POSIDMOVE { get; set; }
public int TASK_PRIORITY { get; set; }
public int TASK_WKSTATUS { get; set; }
public string TASK_WHID { get; set; }
public string TASK_SRMNO { get; set; }
///
/// rgv工位
///
public string TASK_RGVNO { get; set; }
public int TASK_ORDERTYPE { get; set; }
public string TASK_BOXBARCODE { get; set; }
///
/// 起始巷道号
///
public string TASK_FromTunnelNum { get; set; }
///
/// 目标巷道号
///
public string TASK_EndTunnelNum { get; set; }
///
/// 熟化类型(0=不需熟化、1=熟化房熟化、2=小烘房熟化)
///
public int TASK_MatureType { get; set; }
///
/// 熟化时间(小时:10,16)
///
public decimal TASK_MatureDate { get; set; }
///
/// 熟化温度(小数)
///
public decimal TASK_MatureTemperat { get; set; }
///
/// 进入熟化房时间
///
public DateTime? TASK_InMatureRoomDate { get; set; }
///
/// 离开熟化房时间
///
public DateTime? TASK_OutMatureRoomDate { get; set; }
///
/// 重量
///
public decimal TASK_GrossWeight { get; set; }
///
/// 是否缠膜(1.缠膜;0.不缠膜)
///
public bool TASK_IsWrapFilm { get; set; }
public string TASK_ADDUSERNO { get; set; }
public DateTime TASK_ADDDATETIME { get; set; }
public string TASK_EDITUSERNO { get; set; }
public DateTime TASK_EDITDATETIME { get; set; }
public string TASK_DELETEUSER { get; set; }
public DateTime TASK_DELETEDATE { get; set; }
public string TASK_NOTES { get; set; }
///
/// 机械手:子托盘的尺寸编码
///
public string PalletizingSonTraySize { get; set; }
///
/// 机械手:码垛的箱子尺寸编码
///
public string PalletizingBoxSize { get; set; }
///
/// 子托盘颜色编号(1,2,3)
///
public int? SonTrayColorNo { get; set; }
///
/// 预分配堆垛机出口输送线编号
///
//public string TASK_SRMOUTCONVNO { get; set; }
public string TASK_ITEM1 { get; set; }
public string TASK_ITEM2 { get; set; }
public string TASK_ITEM3 { get; set; }
public string TASK_ITEM4 { get; set; }
public string TASK_ITEM5 { get; set; }
public string TASK_ITEM6 { get; set; }
public string TASK_ITEM7 { get; set; }
public string TASK_ITEM8 { get; set; }
public string TASK_ITEM9 { get; set; }
public string TASK_ITEM10 { get; set; }
}
public class WCS_TASK_DIS_DTL
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
public string ID { get; set; }
public int PARENTID { get; set; }
public int TASKNO { get; set; }
public string POSIDCUR { get; set; }
public string POSIDNEXT { get; set; }
public string DESCRIPTION { get; set; }
public string NOTES { get; set; }
public DateTime EXECUTEDATE { get; set; }
}
///
/// json属性值转为日期
///
public class DateConverter : IsoDateTimeConverter
{
///
/// 类构造
///
public DateConverter()
{
base.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
}
}
public class WCS_TASKTIMEPOINT
{
public WCS_TASKTIMEPOINT()
{
}
///
/// Desc:站台号
/// Default:
/// Nullable:True
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
public string F_NO { get; set; }
///
/// Desc:是否暂停
/// Default:
/// Nullable:False
///
public int F_ISSTOP { get; set; }
///
/// Desc:是否删除
/// Default:
/// Nullable:False
///
public int F_ISDELETE { get; set; }
///
/// Desc:容器条码
/// Default:
/// Nullable:True
///
public string F_BOXBARCODE { get; set; }
///
/// Desc:去处(1:入库 2.移动至收货口 3.堆垛机码盘)
/// Default:
/// Nullable:True
///
public int? F_POSIDTOTYPE { get; set; }
///
/// Desc:超时时长S
/// Default:
/// Nullable:True
///
public string F_OVERTIME { get; set; }
///
/// Desc:创建用户编码
/// Default:
/// Nullable:True
///
public string F_ADDUSERNO { get; set; }
///
/// Desc:创建用户姓名
/// Default:
/// Nullable:True
///
public string F_ADDUSERNAME1 { get; set; }
///
/// Desc:创建日期
/// Default:
/// Nullable:True
///
public DateTime? F_ADDDATETIME { get; set; }
///
/// Desc:编辑用户
/// Default:
/// Nullable:True
///
public string F_EDIUSERNO { get; set; }
///
/// Desc:编辑用户姓名
/// Default:
/// Nullable:True
///
public string F_EDIUSERNAME { get; set; }
///
/// Desc:编辑日期
/// Default:
/// Nullable:True
///
public DateTime? F_EDITDATETIME { get; set; }
///
/// 目标地址列表(逗号分隔)
///
public string F_POSIDTO { get; set; }
///
/// 生产线下料位置
///
public string F_PROLINEUPMATPOS { get; set; }
///
/// 是否回库
///
public bool F_ISBACK { get; set; }
///
/// 是否钢平台拣选位置
///
public string F_ITEM1 { get; set; }
public string F_ITEM2 { get; set; }
public string F_ITEM3 { get; set; }
public string F_ITEM4 { get; set; }
public string F_ITEM5 { get; set; }
}
}