using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;

namespace SlnMesnac.Model.domain
{
    /// <summary>
    /// 设备信息
    /// </summary>
    [SugarTable("wcs_base_equip"), TenantAttribute("mes")]
    public class BaseEquipment
    {
        /// <summary>
        /// 主键
        /// </summary>
        [SugarColumn(ColumnName = "objid", IsPrimaryKey = true)]
        public long ObjId { get; set; }

        /// <summary>
        /// 所属仓库
        /// </summary>
        [SugarColumn(ColumnName = "warehouse_id")]
        public long? WarehouseId { get; set; }

        /// <summary>
        /// 设备编号
        /// </summary>
        [SugarColumn(ColumnName = "equip_no")]
        public string EquipNo { get; set; }

        /// <summary>
        /// 设备名称
        /// </summary>
        [SugarColumn(ColumnName = "equip_name")]
        public string EquipName { get; set; }

        /// <summary>
        /// 设备类型 1输送线 2 提升机 3 分拣输送线
        /// </summary>
        [SugarColumn(ColumnName = "equip_type")]
        public int? EquipType { get; set; }

        /// <summary>
        /// IP地址
        /// </summary>
        [SugarColumn(ColumnName = "server_ip")]
        public string ServerIp { get; set; }

        /// <summary>
        /// 端口
        /// </summary>
        [SugarColumn(ColumnName = "server_port")]
        public int? ServerPort { get; set; }

        /// <summary>
        /// 设备状态,字典表
        /// </summary>
        [SugarColumn(ColumnName = "equip_status")]
        public int? EquipStatus { get; set; }

        /// <summary>
        /// 所属楼层
        /// </summary>
        [SugarColumn(ColumnName = "floor_no")]
        public int? FloorNo { get; set; }

        /// <summary>
        /// 是否可用  0:不可用  1:可用
        /// </summary>
        [SugarColumn(ColumnName = "use_flag")]
        public int UseFlag { get; set; } = 1;

        /// <summary>
        /// 创建者
        /// </summary>
        [SugarColumn(ColumnName = "create_by")]
        public string CreateBy { get; set; } = "SYS";

        /// <summary>
        /// 创建时间
        /// </summary>
        [SugarColumn(ColumnName = "create_time")]
        public DateTime? CreateTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 更新者
        /// </summary>
        [SugarColumn(ColumnName = "update_by")]
        public string UpdateBy { get; set; } = "SYS";

        /// <summary>
        /// 更新时间
        /// </summary>
        [SugarColumn(ColumnName = "update_time")]
        public DateTime? UpdateTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 人工任务起始地
        /// </summary>
        [SugarColumn(ColumnName = "ud1")]
        public string Ud1 { get; set; }

        /// <summary>
        /// 人工任务终止地
        /// </summary>
        [SugarColumn(ColumnName = "ud2")]
        public string Ud2 { get; set; }

        /// <summary>
        /// 备用字段3
        /// </summary>
        [SugarColumn(ColumnName = "ud3")]
        public string Ud3 { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [SugarColumn(ColumnName = "remark")]
        public string Remark { get; set; }

        /// <summary>
        /// Agv地址
        /// </summary>
        [SugarColumn(ColumnName = "agv_position_code")]
        public string AgvPositionCode { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnName = "empty_count")]
        public int? EmptyCount { get; set; }

        /// <summary>
        /// RFID
        /// </summary>
        [SugarColumn(ColumnName = "container_no")]
        public string ContainerNo { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnName = "endStationCode")]
        public string EndStationCode { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnName = "is_out")]
        public int IsOut { get; set; } = 0;
    }
}
