EquipmentProp.cs 4.73 KB
using Rcs.Domain;
using Rcs.Domain.Attributes;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using ColumnAttribute = System.ComponentModel.DataAnnotations.Schema.ColumnAttribute;
using TableAttribute = System.ComponentModel.DataAnnotations.Schema.TableAttribute;

namespace HaHRCS.Rcs.Model.Entities
{
    [Table("base_equipment_prop")]
    public class EquipmentProp : Entity
    {
        [Key]
        [Column(Order = 1)]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        //[Column(DbType = "int(11) NOT NULL DEFAULT '0'")]
        public int Id { get; set; }
        private DateTime? dateTime;

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column(Order = 40)]
        public DateTime? CreateTime
        {
            get { return dateTime; }
            set { dateTime = value; }
        }

        [Column(Order = 41)]
        [MaxLength(20)]
        public string CreateBy { get; set; }

        /// <summary>
        /// 对于更新时间,不自动写入,允许为null
        /// </summary>
        [Column(Order = 42)]
        public DateTime? UpdateTime { get; set; }

        [Column(Order = 43)]
        [MaxLength(20)]
        public string UpdateBy { get; set; }
        private int equipmentId;

        [Column(Order = 2)]
        [Required]
        public int EquipmentId
        {
            get { return equipmentId; }
            set { equipmentId = value; }
        }

        private int equipmentTypePropTemplateId;

       
        [Required]
        [Column("equipmentTypeTemplateId")]
        public int EquipmentTypePropTemplateId
        {
            get { return equipmentTypePropTemplateId; }
            set { equipmentTypePropTemplateId = value; }
        }

        private string equipmentTypePropTemplateCode;

        [Column("equipmentTypeTemplateCode")]
        [MaxLength(50)]
        [Required]
        public string EquipmentTypePropTemplateCode
        {
            get { return equipmentTypePropTemplateCode; }
            set { equipmentTypePropTemplateCode = value; }
        }

        private string address;

        [Column(Order = 6)]
        [MaxLength(50)]
        public string Address
        {
            get { return address; }
            set { address = value; }
        }

        private string value;

        [Column(Order = 7)]
        [MaxLength(50)]
        public string Value
        {
            //在此处做一个去除空格的处理,不再在PLC读写里进行
            get { return value?.Replace("\0", "").Trim(); }
            set { this.value = value; }
        }

        private string remark;

        [Column(Order = 8)]
        [MaxLength(200)]
        public string Remark
        {
            get { return remark; }
            set { remark = value; }
        }


        /// <summary>
        /// 逻辑外键--设备实体
        /// </summary>
        public Equipment Equipment { get; set; }

        /// <summary>
        /// 额外对应属性模板,方便读取模板属性
        /// </summary>
        public EquipmentTypePropTemplate EquipmentTypePropTemplate { get; set; }

        public int ServerHandle { get; set; }

        
    }
    /// <summary>
    /// 站台枚举 - RCS调度任务状态
    /// @author zzy
    /// </summary>
    public enum ConvingStatus
    {
        [EnumDescription("放货请求就绪", "PutRequest")]
        PutRequest = 1,

        [EnumDescription("放货进行中", "PutRuning")]
        PutRuning = 2,

        [EnumDescription("放货完成", "PutDone")]
        PutDone = 3,

        [EnumDescription("放货准备好", "PutConveyorReady")]
        PutConveyorReady = 4,

        [EnumDescription("允许放货", "AllowPut")]
        AllowPut = 5,

        [EnumDescription("取货请求", "PickRequest")]
        PickRequest = 6,

        [EnumDescription("取货进行中", "PickRuning")]
        PickRuning = 7,

        [EnumDescription("取货完成", "PickDone")]
        PickDone = 8,

        [EnumDescription("取货准备好", "PickConveyorReady")]
        PickConveyorReady = 9,
        [EnumDescription("允许取货", "AllowPick")]
        AllowPick = 10,
    }
    /// <summary>
    /// 站台枚举 - RCS调度伸出夹紧状态
    /// @author zzy
    /// </summary>
    public enum PLCConvingStatus
    {
        [EnumDescription("伸出信号", "Extend")]
        Extend = 1,

        [EnumDescription("伸回信号", "Clamp")]
        Clamp = 2,

    }
    /// <summary>
    /// 站台枚举 - RCS调度伸出夹紧状态
    /// @author zzy
    /// </summary>
    public enum PLCGatingStatus
    {
        [EnumDescription("开门信号", "Opendoor")]
        Opendoor = 1,

        [EnumDescription("关门信号", "Closedoor")]
        Closedoor = 2,

    }
}