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

namespace SlnMesnac.Model.domain
{
    [SugarTable("wms_product_instock"), TenantAttribute("mes")]
    public class WmsProductInstock
    {
        [SugarColumn(ColumnName = "product_instock_id", IsPrimaryKey = true, IsIdentity = true)]
        public long productInstockId { get; set; }

        /// <summary>
        /// 任务编号
        /// </summary>
        [SugarColumn(ColumnName = "task_code")]
        public string taskCode { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        [SugarColumn(ColumnName = "warehouse_id")]
        public long warehouseId { get; set; }

        /// <summary>
        /// 仓库楼层
        /// </summary>
        [SugarColumn(ColumnName = "warehouse_floor")]
        public int? warehouseFloor { get; set; }

        /// <summary>
        /// 库位编码
        /// </summary>
        [SugarColumn(ColumnName = "location_code")]
        public string locationCode { get; set; }

        /// <summary>
        /// 成品类型（2半成品,3成品）
        /// </summary>
        [SugarColumn(ColumnName = "product_type")]
        public char productType { get; set; }

        /// <summary>
        /// 操作类型(0自动,1人工,2强制,3调度)
        /// </summary>
        [SugarColumn(ColumnName = "operation_type")]
        public char operationType { get; set; }

        /// <summary>
        /// 计划编号,关联pd_base_plan_info的plan_code
        /// </summary>
        [SugarColumn(ColumnName = "plan_code")]
        public string planCode { get; set; }

        /// <summary>
        /// 计划明细编号,关联pd_base_plan_detail的plan_detail_code
        /// </summary>
        [SugarColumn(ColumnName = "plan_detail_code")]
        public string planDetailCode { get; set; }

        /// <summary>
        /// 销售订单ID，关联销售订单主键
        /// </summary>
        [SugarColumn(ColumnName = "sale_order_id")]
        public long? saleOrderId { get; set; }

        /// <summary>
        /// 销售订单编号
        /// </summary>
        [SugarColumn(ColumnName = "saleorder_code")]
        public string saleorderCode { get; set; }

        /// <summary>
        /// 入库类型(1生产入库,2出半成品库,9其他入库)
        /// </summary>
        [SugarColumn(ColumnName = "instock_type")]
        public char instockType { get; set; }

        /// <summary>
        /// 成品ID
        /// </summary>
        [SugarColumn(ColumnName = "product_id")]
        public long? productId { get; set; }

        /// <summary>
        /// 存成品条码
        /// </summary>
        [SugarColumn(ColumnName = "product_batch")]
        public string productBatch { get; set; }

        /// <summary>
        /// 入库数量
        /// </summary>
        [SugarColumn(ColumnName = "instock_amount")]
        public decimal? instockAmount { get; set; }

        /// <summary>
        /// 托盘RFID代码
        /// </summary>
        [SugarColumn(ColumnName = "pallet_info_code")]
        public string palletInfoCode { get; set; }

        /// <summary>
        /// 申请原因
        /// </summary>
        [SugarColumn(ColumnName = "apply_reason")]
        public string applyReason { get; set; }

        /// <summary>
        /// 审核原因
        /// </summary>
        [SugarColumn(ColumnName = "audit_reason")]
        public string auditReason { get; set; }

        /// <summary>
        /// 审核状态(0待审核,1审核通过,2审核未通过)
        /// </summary>
        [SugarColumn(ColumnName = "audit_status")]
        public char auditStatus { get; set; }

        /// <summary>
        /// 执行状态(0待执行,1执行中,2执行完成)
        /// </summary>
        [SugarColumn(ColumnName = "execute_status")]
        public char executeStatus { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [SugarColumn(ColumnName = "apply_by")]
        public string applyBy { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [SugarColumn(ColumnName = "apply_date")]
        public DateTime? applyDate { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        [SugarColumn(ColumnName = "audit_by")]
        public string auditBy { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        [SugarColumn(ColumnName = "audit_date")]
        public DateTime? auditDate { get; set; }

        /// <summary>
        /// 同步ERP状态(0:失败,1成功)
        /// </summary>
        [SugarColumn(ColumnName = "erp_status")]
        public char? erpStatus { get; set; }

        /// <summary>
        /// 同步给ERP的数量
        /// </summary>
        [SugarColumn(ColumnName = "erp_amount")]
        public decimal? erpAmount { get; set; }

        /// <summary>
        /// 最后更新人
        /// </summary>
        [SugarColumn(ColumnName = "update_by")]
        public string updateBy { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        [SugarColumn(ColumnName = "update_date")]
        public DateTime? updateDate { get; set; }

        /// <summary>
        /// 开始时间;AGV处理开始时间
        /// </summary>
        [SugarColumn(ColumnName = "begin_time")]
        public DateTime? beginTime { get; set; }

        /// <summary>
        /// 结束时间;AGV处理结束时间
        /// </summary>
        [SugarColumn(ColumnName = "end_time")]
        public DateTime? endTime { get; set; }
    }
}
