using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using QMFrameWork.Data.Attributes;
using QMAPP.Entity;

namespace QMAPP.FJC.Entity.Operation
{
    ///</summary>
    /// 模块编号:M13-2
    /// 作    用:加工记录数据模型
    /// 作    者:单雨春
    /// 编写日期:2015年06月05日
    ///</summary>
    [DBTable(TableName = "T_AW_MAINOPERATION", TimeStampColumn = "UPDATEDATE")]
    //[DBTable(TableName = "T_AW_MAINOPERATION")]
    public class MainOperation : BaseEntity
    {
        #region 数据库字段
        ///<summary>
        ///主键
        ///</summary>
        [DBColumn(ColumnName = "PID", DataType = DbType.String, IsKey = true)]
        public string PID { get; set; }

        ///<summary>
        ///当零件类别是9时,是本体ID
        ///</summary>
        [DBColumn(ColumnName = "PDID", DataType = DbType.String)]
        public string PDID { get; set; }


        ///<summary>
        ///产品条码
        ///</summary>
        [DBColumn(ColumnName = "PRODUCTCODE", DataType = DbType.String)]
        public string PRODUCTCODE { get; set; }

        public string MAINCODE { get; set; }


        ///<summary>
        ///工序
        ///0:搪塑 
        ///1:骨架注塑
        ///2:气囊支架注塑
        ///3:风道注塑
        ///4:开关支架注塑
        ///5:HUD风道注塑
        ///6:冷刀弱化
        ///7:火焰加工
        ///8:预热
        ///9:浇注
        ///10:红外扫描
        ///11:冲切
        ///12:铣削
        ///13:铆接
        ///14:超时波焊接
        ///15:红外焊接
        ///16:总成装配
        ///</summary>
        [DBColumn(ColumnName = "PROCESSTYPE", DataType = DbType.String)]
        public string PROCESSTYPE { get; set; }
        public string PROCESSTYPETEXT { get; set; }

        ///<summary>
        ///产品类别
        ///0:表皮
        ///1:骨架
        ///3:气囊支架
        ///4:开关支架
        ///5:风道
        ///6:HUD风道
        ///7:格栅
        ///8:中控支架
        ///9:本体
        ///</summary>
        [DBColumn(ColumnName = "PRODUCTTYPE", DataType = DbType.String)]
        public string PRODUCTTYPE { get; set; }
        public string PRODUCTTYPETEXT { get; set; }

        ///<summary>
        ///设备名称
        ///</summary>
        [DBColumn(ColumnName = "MACHINENAME", DataType = DbType.String)]
        public string MACHINENAME { get; set; }


        ///<summary>
        ///设备编号
        ///</summary>
        [DBColumn(ColumnName = "MACHINECODDE", DataType = DbType.String)]
        public string MACHINECODDE { get; set; }


        ///<summary>
        ///产品状态
        ///0:合格
        ///1:返修
        ///2:作废
        ///</summary>
        [DBColumn(ColumnName = "STATUS", DataType = DbType.String)]
        public string STATUS { get; set; }


        /// <summary>
        /// 模块号
        /// </summary>
        [DBColumn(ColumnName = "MOLDNUMBER", DataType = DbType.String)]
        public string MOLDNUMBER { get; set; }
        

        ///<summary>
        ///加工状态
        ///0:加工中
        ///1:加工完成
        ///2: 手动
        ///</summary>
        [DBColumn(ColumnName = "OPERATESTATE", DataType = DbType.String)]
        public string OPERATESTATE { get; set; }
        public string OPERATESTATETEXT { get; set; }

        ///<summary>
        ///操作日期
        ///</summary>
        [DBColumn(ColumnName = "OPERATEDDATE", DataType = DbType.DateTime)]
        public DateTime OPERATEDDATE { get; set; }


        ///<summary>
        ///当前工序
        ///0:搪塑 
        ///1:骨架注塑
        ///2:气囊支架注塑
        ///3:风道注塑
        ///4:中控之间注塑
        ///5:HUD风道注塑
        ///5:冷刀弱化
        ///6:火焰加工
        ///7:预热
        ///8:浇注
        ///9:红外扫描
        ///10:冲切
        ///11:铣削
        ///12:铆接
        ///13:超时波焊接
        ///14:红外焊接
        ///15:总成装配
        ///</summary>
        [DBColumn(ColumnName = "CURRENTPROCESS", DataType = DbType.String)]
        public string CURRENTPROCESS { get; set; }


        ///<summary>
        ///班次名称
        ///</summary>
        [DBColumn(ColumnName = "PRODUCESHIFTNAME", DataType = DbType.String)]
        public string PRODUCESHIFTNAME { get; set; }


        ///<summary>
        ///班次编号
        ///</summary>
        [DBColumn(ColumnName = "PRODUCESHIFTTCODE", DataType = DbType.String)]
        public string PRODUCESHIFTTCODE { get; set; }


        ///<summary>
        ///生产线
        ///</summary>
        [DBColumn(ColumnName = "PRODUCELINE", DataType = DbType.String)]
        public string PRODUCELINE { get; set; }


        ///<summary>
        ///文件名称
        ///</summary>
        [DBColumn(ColumnName = "FILENAME", DataType = DbType.String)]
        public string FILENAME { get; set; }


        ///<summary>
        ///文件路径
        ///</summary>
        [DBColumn(ColumnName = "FILEPATH", DataType = DbType.String)]
        public string FILEPATH { get; set; }


        ///<summary>
        ///模具位置
        ///</summary>
        [DBColumn(ColumnName = "MODELSTATION", DataType = DbType.String)]
        public string MODELSTATION { get; set; }


        ///<summary>
        ///操作人
        ///</summary>
        [DBColumn(ColumnName = "CREATEUSER", DataType = DbType.String)]
        public string CREATEUSER { get; set; }


        ///<summary>
        ///操作时间
        ///</summary>
        [DBColumn(ColumnName = "CREATEDATE", DataType = DbType.DateTime)]
        public DateTime CREATEDATE { get; set; }
        public string CREATEDATESTR { get; set; }
        

        ///<summary>
        ///更新人
        ///</summary>
        [DBColumn(ColumnName = "UPDATEUSER", DataType = DbType.String)]
        public string UPDATEUSER { get; set; }


        ///<summary>
        ///操作人
        ///</summary>
        [DBColumn(ColumnName = "PRODUCTCODESTR", DataType = DbType.String)]
        public string PRODUCTCODESTR { get; set; }


        ///<summary>
        ///更新时间
        ///</summary>
        [DBColumn(ColumnName = "UPDATEDATE", DataType = DbType.DateTime)]
        public DateTime UPDATEDATE { get; set; }

        [DBColumn(ColumnName = "MATERIAL_CODE", DataType = DbType.String)]
        public string MATERIAL_CODE { get; set; }
        public string MATERIAL_CODE_NAME { get; set; }

        [DBColumn(ColumnName = "MATERIAL_NAME", DataType = DbType.String)]
        public string MATERIAL_NAME { get; set; }

        [DBColumn(ColumnName = "MATERIAL_TYPE_CODE", DataType = DbType.String)]
        public string MATERIAL_TYPE_CODE { get; set; }


        [DBColumn(ColumnName = "WORKCENTER_CODE", DataType = DbType.String)]
        public string WORKCENTER_CODE { get; set; }

        [DBColumn(ColumnName = "ROUTE_CODE", DataType = DbType.String)]
        public string ROUTE_CODE { get; set; }

        [DBColumn(ColumnName = "WORKCELL_CODE", DataType = DbType.String)]
        public string WORKCELL_CODE { get; set; }

        public string WORKCELL_NAME { get; set; }

        #endregion

        #region 扩展字段
        /// <summary>
        /// 加工参数表名称
        /// </summary>
        public string PARATABLENAME { get; set; }

        /// <summary>
        /// 加工参数字段串
        /// </summary>
        public string SelectCollumns { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string CREATEUSERNAME { get; set; }

        /// <summary>
        /// 操作起始日期
        /// </summary>
        public DateTime DATEOPESTART { get; set; }

        /// <summary>
        /// 操作截止日期
        /// </summary>
        public DateTime DATEOPEEND { get; set; }

        /// <summary>
        /// 查询时间的至
        /// </summary>
        public string CreateDateStart { get; set; }
        /// <summary>
        /// 查询时间的至
        /// </summary>
        public string CreateDateEnd { get; set; }

        /// <summary>
        /// 分组数量和
        /// </summary>
        public string Counts { get; set; }

        ///<summary>
        ///表皮条码
        ///</summary>
        public string PRODUCTCODETXT { get; set; }

        ///<summary>
        /// 工序类别(注塑,用于设备加工记录查询)
        ///</summary> 
        public string PROCESSTYPES { get; set; }

        /// <summary>
        /// 合格数量
        /// </summary>
        public string QUALIFIED { get; set; }

        /// <summary>
        /// 返修数量
        /// </summary>
        public string REPAIR { get; set; }

        /// <summary>
        /// 作废数量
        /// </summary>
        public string CANCEL { get; set; }

        /// <summary>
        /// 不合格数量
        /// </summary>
        public string UNQUALIFIED { get; set; }

        /// <summary>
        /// 合格率
        /// </summary>
        public string RATE { get; set; }

        ///<summary>
        ///生产线代码
        ///</summary>
        public string ERP_WORKLINE { get; set; }
        #endregion

        public List<Basic.ProcessParameter> ParamColumns { get; set; }

        public string ViewName { get; set; }
    }
}