using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc.Html;
using QMFrameWork.Data.Attributes;
using System.Data;
using QMFrameWork.WebUI.Attribute;
using QMFrameWork.WebUI;

namespace QMAPP.FJC.Web.Models.Basic
{
    /// <summary>
    /// 模块编号:M2-7
    /// 作    用:工序设置页面模型
    /// 作    者:王丹丹
    /// 编写日期:2015年06月01日
    ///</summary>  
    public class ProcessSetModel : QDGModel
    {

        ///<summary>
        ///工序名称主键
        ///</summary>
        [Description("工序名称主键")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 36)]
        [InputType(inputType.text)]
        [DGColumn(Hidden = true, PrimaryKey = true)]
        public string PID { get; set; }


        ///<summary>
        ///工序名称主键
        ///</summary>
        [Description("工序名称主键")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 36)]
        [InputType(inputType.text)]
        [DGColumn(Hidden = true)]
        public string PCID { get; set; }


        ///<summary>
        ///零件分类
        ///</summary>
        [Description("零件分类")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 50, JsonUtl = "/Dict/GetFixedComboxSource?kind=PRODUCTTYPE")]
        [InputType(inputType.combobox)]
        public string PRODUCTTYPE { get; set; }
        [Description("零件分类")]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string PRODUCTTYPETEXT { get; set; }
        ///<summary>
        ///原零件类别
        ///</summary>
        public string OLDPRODUCTTYPE { get; set; }
        ///<summary>
        ///零件名称
        ///</summary>
        [Description("零件名称")]
        [InputType(inputType.hidden)] 
        public string PRODUCTNAME { get; set; }


        ///<summary>
        ///工序名称
        ///</summary>
        [Description("工序名称")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 50, JsonUtl = "/ProcessSet/GetPCNComboxSource")]
        [InputType(inputType.combobox)]
        //[DGColumn(frozenColumns = true, Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string PROCESSNAME { get; set; }


        ///<summary>
        ///工序名称
        ///</summary>
        [Description("工序名称")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 50, JsonUtl = "/ProcessSet/GetPCNComboxSource")]
        [InputType(inputType.combobox)] 
        public string PROCESSNAMETXT { get; set; } 


        ///<summary>
        ///工序类别(查询)  
        ///</summary>
        [Description("工序类别")]
        [HTMLInput(UpdateRead = false, required = true, JsonUtl = "/ProcessSet/GetComboxSource", MaxLength = 2)]
        [InputType(inputType.combobox)]
        public string PROCESSTYPESEARCH { get; set; } 

        ///<summary>
        ///工序类别(编辑)  
        ///</summary>
        [Description("工序类别")]
        [HTMLInput(UpdateRead = false, required = true)]
        [InputType(inputType.text)]
        public string PROCESSTYPE { get; set; }
        [Description("工序类别")]
        [HTMLInput(UpdateRead = false, required = true)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string PROCESSTYPETXT { get; set; } 


        ///<summary>
        ///工序顺序
        ///</summary>
        [Description("工序顺序")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 4, DataType = QDataType.number)]
        [InputType(inputType.text)]
        //[DGColumn(frozenColumns = true, Sortable = true, Width = 100, DataAlign = DataAlign.right)]
        public int PROCESSINDEX { get; set; } 
        ///<summary>
        ///最大工序顺序
        ///</summary>
        public int MAXPROCESSINDEX { get; set; }
        ///<summary>
        ///原工序顺序
        ///</summary>
        public int OLDPROCESSINDEX { get; set; }


        ///<summary>
        ///本工序产品冷却时间:本工序加工完成,需要冷却一定时间才能被下一道工序使用 
        ///</summary>
        [Description("本工序产品冷却时间(分)")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 4, DataType = QDataType.number)]
        [InputType(inputType.text)]
        //[DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.right)]
        public int INTERVALVALUE { get; set; }


        ///<summary>
        ///工序是否必须(0:否   1:必须) 
        ///</summary>
        [Description("工序是否必须")]
        [HTMLInput(UpdateRead = false, required = true, JsonUtl = "/Dict/GetFixedComboxSource?kind=LPNECCESSARY", MaxLength = 1)]
        [InputType(inputType.combobox)]
        public string LPNECCESSARY { get; set; }
        [Description("工序是否必须")]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string LPNECCESSARYTXT { get; set; }


        ///<summary>
        ///生产线
        ///</summary>
        [Description("生产线")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20)]
        [InputType(inputType.text)] 
        public string PRODUCELINE { get; set; }


        ///<summary>
        ///工序低储值设置
        ///</summary>
        [Description("工序低储值设置")]
        [HTMLInput(UpdateRead = false, required = false, MaxLength = 4, DataType = QDataType.number)]
        [InputType(inputType.text)]
        //[DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.right)]
        public int MINVALUE { get; set; }


        ///<summary>
        ///生产最小批次设置
        ///</summary>
        [Description("生产最小批次设置")]
        [HTMLInput(UpdateRead = false, required = false, MaxLength = 4, DataType = QDataType.number)]
        [InputType(inputType.text)]
        //[DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.right)]
        public int PRODUCEMINVALUE { get; set; }


        ///<summary>
        ///在制品工序设置(0:否 1:是) 
        ///</summary>
        [Description("在制品工序设置")]
        //[HTMLInput(UpdateRead = false, required = true, JsonUtl = "/Dict/GetFixedComboxSource?kind=WIPSET", MaxLength = 1)]
        //[InputType(inputType.combobox)]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 1)]
        [InputType(inputType.hidden)]
        public string WIPSET { get; set; }
        [Description("在制品工序设置")]
        //[DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.center)]
        public string WIPSETTXT { get; set; }

        ///<summary>
        ///是否是主零件(0:否 1:是) 
        ///</summary>
        [Description("是否是主零件")]
        //[HTMLInput(UpdateRead = false, required = true, JsonUtl = "/Dict/GetFixedComboxSource?kind=ISMAIN", MaxLength = 1)]
        //[InputType(inputType.combobox)]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 1)]
        [InputType(inputType.hidden)]
        public string ISMAIN { get; set; }
        [Description("是否是主零件")]
        //[DGColumn(frozenColumns = false, Sortable = true, Width = 100, DataAlign = DataAlign.center)]
        public string ISMAINTXT { get; set; }
         

        ///<summary>
        ///备注
        ///</summary>
        [Description("备注")]
        [HTMLInput(UpdateRead = false, required = false, MaxLength = 100, Width = 153, Height = 70)]
        [InputType(inputType.textArea)]
        [DGColumn(frozenColumns = false, Sortable = true, Width = 120, DataAlign = DataAlign.left)]
        public string MEMO { get; set; }


        /// <summary>
        /// 创建用户
        /// </summary>
        [Description("创建用户")]
        public string CREATEUSER { get; set; }
        /// <summary>
        /// 创建用户
        /// </summary>
        [Description("创建用户")]
        [DGColumn(Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string CREATEUSERNAME { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Description("创建时间")]
        [HTMLInput(UpdateRead = true, MaxLength = 20)]
        [InputType(inputType.hidden)]
        [DGColumn(Sortable = true, Width = 150, DataAlign = DataAlign.center, FormatDate = "yyyy-MM-dd hh:mm:ss")]
        public DateTime CREATEDATE { get; set; }

        /// <summary>
        /// 更新用户
        /// </summary>
        [Description("更新用户")]
        public string UPDATEUSER { get; set; }
        /// <summary>
        /// 更新用户
        /// </summary> 
        [Description("更新用户")]
        [DGColumn(Sortable = true, Width = 100, DataAlign = DataAlign.left)]
        public string UPDATEUSERNAME { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [Description("更新时间")]
        [HTMLInput(UpdateRead = true, MaxLength = 20)]
        [InputType(inputType.hidden)]
        [DGColumn(Sortable = true, Width = 150, DataAlign = DataAlign.center, FormatDate = "yyyy-MM-dd hh:mm:ss")]
        public DateTime UPDATEDATE { get; set; }

        public string EDITNECESSARY { get; set; }

    }
}