using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using QMFrameWork.WebUI.Attribute;
using QMFrameWork.WebUI;
using System.Web.Mvc.Html;
using QMAPP.MD.Entity;

namespace QMAPP.MD.Web.Models
{
    /// <summary>
    /// 模块名称:Bom详细信息
    /// 作    者:郭兆福
    /// 编写日期:2017年05月10日
    /// </summary>
    public class PbomItemModel : QDGModel
    {

        ///<summary>
        ///BOM项目主键
        ///</summary>
        [Description("BOM主键")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 36)]
        [InputType(inputType.hidden)]
        [DGColumn(Hidden = true, PrimaryKey = true)]
        public string PID { get; set; }

        /// <summary>
        /// 工厂
        /// </summary>
        [Description("工厂")]
        [HTMLInput(UpdateRead = true, required = true, JsonUtl = "/Dict/GetFactoryComboxSource", MaxLength = 15, Width = 244)]
        [InputType(inputType.combobox)]
        public string FACTORY_CODE { get; set; }

        /// <summary>
        /// 工厂
        /// </summary>
        [Description("工厂")]
        [DGColumn(Sortable = true, Width = 300, DataAlign = DataAlign.left)]
        public string FACTORY_NAME { get; set; }


        ///<summary>
        ///PBOM编号
        ///</summary>
        [Description("PBOM编号")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20)]
        [InputType(inputType.text)]
        [DGColumn(Hidden = true, PrimaryKey = true)]
        public string PBOM_CODE { get; set; }

        ///<summary>
        ///工艺路线
        ///</summary>
        public string ROUTE_CODE { get; set; }


        ///<summary>
        ///物料号
        ///</summary>
        [Description("物料号")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20, Width = 345, JsonUtl = "/Dict/GetMaterialTree")]
        [InputType(inputType.combotree)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 150, DataAlign = DataAlign.left)]
        public string MATERIAL_CODE { get; set; }

        ///<summary>
        ///物料名称
        ///</summary>
        [Description("物料名称")]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 150, DataAlign = DataAlign.left)]
        public string MATERIAL_NAME { get; set; }

        ///<summary>
        ///特征码
        ///</summary>
        [Description("特征码")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 10, Width = 340)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 80, DataAlign = DataAlign.left)]
        public string PROPERTY_CODE { get; set; }

        ///<summary>
        ///序号
        ///</summary>
        [Description("序号")]
        [HTMLInput(UpdateRead = true, required = true, MaxLength = 4, DataType = QDataType.number,NumberMax=9999,NumberMin=1, Width = 341)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 60, DataAlign = DataAlign.center)]
        public int SEQ_NUM { get; set; }


        ///<summary>
        ///上级行项目序号
        ///</summary>
        [Description("上级项目序号")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 4, Width = 345)]
        [InputType(inputType.combobox)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 150, DataAlign = DataAlign.center)]
        public int UP_SQ_NUM { get; set; }

        ///<summary>
        ///数量
        ///</summary>
        [Description("数量")]
        [HTMLInput(UpdateRead = false, required = false, MaxLength = 4, DataType = QDataType.number, NumberMax = 9999, NumberMin = 1, Width = 341)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.center)]
        public decimal UNIT_SUM { get; set; }

        ///<summary>
        ///发料工序
        ///</summary>
        [Description("工序")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20, Width = 345)]
        [InputType(inputType.combobox)]
         public string GMP { get; set; }

        ///<summary>
        ///发料工序
        ///</summary>
        [Description("发料工序")]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string GMP_NAME { get; set; }

        ///<summary>
        ///客供品标记
        ///</summary>
        [Description("客供品标记")]
        [HTMLInput(UpdateRead = true, required = true, MaxLength = 1, Width = 345 ,JsonUtl = "/Dict/GetFixedComboxSource?kind=CspFlag&WithEmpty=false")]
        [InputType(inputType.combobox)]
        public string FLAG_CSP { get; set; }

        ///<summary>
        ///客供品标记
        ///</summary>
        [Description("客供品标记")]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.center)]
        public string FLAG_CSP_NAME { get; set; }

        ///<summary>
        ///制造厂商
        ///</summary>
        [Description("制造厂商")]
        [HTMLInput(UpdateRead = false, MaxLength = 20, Width = 340)]
        [InputType(inputType.text)]
        [DGColumn(Sortable = true, Width = 120, DataAlign = DataAlign.left)]
        public string MFRS { get; set; }

        ///<summary>
        ///描述
        ///</summary>
        [Description("描  述")]
        [HTMLInput(UpdateRead = false, MaxLength = 100, Width = 340, Height = 50)]
        [InputType(inputType.textArea)]
        [DGColumn(Sortable = true, Width = 240, DataAlign = DataAlign.left)]
        public string REMARK { get; set; }

        ///<summary>
        ///删除标识
        ///</summary>
        [Description("删除标识")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 1)]
        [InputType(inputType.hidden)]
        public string FLGDEL { get; set; }

        /// <summary>
        /// 创建用户
        /// </summary>
        [Description("创建用户")]
        public string CREATEUSER { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Description("创建时间")]
        [HTMLInput(UpdateRead = true, MaxLength = 20)]
        [InputType(inputType.hidden)]
        public DateTime CREATEDATE { get; set; }

        /// <summary>
        /// 更新用户
        /// </summary>
        [Description("更新用户")]
        public string UPDATEUSER { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [Description("更新时间")]
        [HTMLInput(UpdateRead = true, MaxLength = 20)]
        [InputType(inputType.hidden)]
        public DateTime UPDATEDATE { get; set; }

        /// <summary>
        /// 菜单树集合
        /// </summary>
        public List<PbomItem> PbomItems { get; set; }

        /// <summary>
        /// 删除标识
        /// </summary>
        public string DelFlag { get; set; }

        /// <summary>
        /// 是否编辑画面
        /// </summary>
        public string isEdit { get; set; }

        /// <summary>
        /// 菜单树集合
        /// </summary>
        public List<PbomItemModel> children { get; set; }

        public string Id { get; set; }
        public string Text { get; set; }
    }
}