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