using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using QMFrameWork.Data.Attributes;
using QMAPP.Entity;
using QMAPP.FJC.Entity.Basic;
namespace QMAPP.FJC.Entity.Operation
{
    ///</summary>
    /// 模块编号:M13-1
    /// 作    用:加工本体
    /// 作    者:王庆男
    /// 编写日期:2015年06月04日
    ///</summary>
    [DBTable(TableName = "T_AW_MAIN", TimeStampColumn = "UPDATEDATE")]
    //[DBTable(TableName = "T_AW_MAIN")]
    public class Main : BaseEntity
    {
        ///<summary>
        ///主键
        ///</summary>
        [DBColumn(ColumnName = "PID", DataType = DbType.String, IsKey = true)]
        public string PID { get; set; }
        ///<summary>
        ///本体条码
        ///</summary>
        [DBColumn(ColumnName = "MAINCODE", DataType = DbType.String)]
        public string MAINCODE { get; set; }

        /////<summary>
        /////本体条码(字符串反转)
        /////</summary>
        //[DBColumn(ColumnName = "MAINCODE_REV", DataType = DbType.String)]
        //public string MAINCODE_REV
        //{
        //    get
        //    {
        //        if (string.IsNullOrWhiteSpace(MAINCODE))
        //        {
        //            return MAINCODE;
        //        }
        //        else
        //        {
        //            return new string(MAINCODE.Reverse().ToArray());
        //        }
        //    }
        //    set { }
        //}


        ///<summary>
        ///骨架主键
        ///</summary>
        [DBColumn(ColumnName = "SKID", DataType = DbType.String)]
        public string SKID { get; set; }


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


        ///<summary>
        ///表皮主键
        ///</summary>
        [DBColumn(ColumnName = "EID", DataType = DbType.String)]
        public string EID { get; set; }


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

        ///<summary>
        ///高低配
        ///</summary>
        [DBColumn(ColumnName = "HB", DataType = DbType.String)]
        public string HB { get; set; }

        ///<summary>
        ///颜色
        ///</summary>
        [DBColumn(ColumnName = "COLOR", DataType = DbType.String)]
        public string COLOR { get; set; }


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


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


        ///<summary>
        ///0:合格
        //1:返修
        //2:作废
        ///</summary>
        [DBColumn(ColumnName = "STATUS", DataType = DbType.String)]
        public string STATUS { get; set; }
        public string STATUSNAME { 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; }
        public string CURRENTPROCESSNAME { get; set; }
        

        /// <summary>
        /// 加工完成标记
        /// </summary>
        [DBColumn(ColumnName = "COMPLETEFLAG", DataType = DbType.String)]
        public string COMPLETEFLAG { get; set; }



        ///<summary>
        ///生产线
        ///</summary>
        [DBColumn(ColumnName = "PRODUCELINE", DataType = DbType.String)]
        public string PRODUCELINE { 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>
        ///0:在库
        //1:发货
        //2.异常出库

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

        ///<summary>
        ///贴车单记录主键
        ///</summary>
        [DBColumn(ColumnName = "SPID", DataType = DbType.String)]
        public string SPID { get; set; }


        ///<summary>
        ///贴车单号
        ///</summary>
        [DBColumn(ColumnName = "SENDCODE", DataType = DbType.String)]
        public string SENDCODE { get; set; }


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

        /// <summary>
        /// 完成时间字符串
        /// </summary>
        public string COMPLETEDATE { get; set; }
        
        ///<summary>
        ///操作人
        ///</summary>
        [DBColumn(ColumnName = "CREATEUSER", DataType = DbType.String)]
        public string CREATEUSER { get; set; }
        public string CREATEUSERNAME { get; set; }


        ///<summary>
        ///操作时间
        ///</summary>
        [DBColumn(ColumnName = "CREATEDATE", DataType = DbType.DateTime)]
        public DateTime CREATEDATE { get; set; }
        public string STARTCREATEDATE { get; set; }
        public string ENDCREATEDATE { get; set; }
        ///<summary>
        ///更新人
        ///</summary>
        [DBColumn(ColumnName = "UPDATEUSER", DataType = DbType.String)]
        public string UPDATEUSER { get; set; }
        public string UPDATEUSERNAME { get; set; }


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

        ///<summary>
        ///物料号
        /// 20171007 zxd 物料号改为零件号
        ///</summary>
        [DBColumn(ColumnName = "MATERIAL_CODE", DataType = DbType.String)]
        public string MATERIAL_CODE { get; set; }
        //[DBColumn(ColumnName = "MATERIAL_NAME", DataType = DbType.String)]
        public string MATERIAL_NAME { get; set; }  

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

        ///<summary>
        ///工作中心
        ///</summary>
        [DBColumn(ColumnName = "WORKCENTER_CODE", DataType = DbType.String)]
        public string WORKCENTER_CODE { get; set; }


        ///<summary>
        ///工位信息
        ///</summary>
        [DBColumn(ColumnName = "WORKLOC_CODE", DataType = DbType.String)]
        public string WORKLOC_CODE { get; set; }


        ///<summary>
        ///工序
        ///</summary>
        [DBColumn(ColumnName = "WORKCELL_CODE", DataType = DbType.String)]
        public string WORKCELL_CODE { get; set; }


        ///<summary>
        ///物料类别
        /// 20171007 zxd 物料类别改为零件类型号
        ///</summary>
        [DBColumn(ColumnName = "MATERIAL_TYPE", DataType = DbType.String)]
        public string MATERIAL_TYPE { get; set; }
        //[DBColumn(ColumnName = "MATERIAL_TYPE_NAME", DataType = DbType.String)]
        public string MATERIAL_TYPE_NAME { get; set; }
       

        /// <summary>
        /// 用于适应任意码的查询
        /// </summary>
        public string publicCode { get; set; }

        #region 扩展字段
        ///<summary>
        ///工序类别
        ///</summary> 
        public string PROCESSTYPE { get; set; }

        ///<summary>
        ///滞留时长
        ///</summary>
        public string DetentionTimeCount { get; set; }

        ///<summary>
        ///加工阶段
        ///</summary>
        public string PROCESSSTATETXT { get; set; }

        ///<summary>
        ///是否合格
        ///</summary>
        public string STATUSTXT { get; set; }

        ///<summary>
        ///高低配
        ///</summary>
        public string HBTXT { get; set; }

        ///<summary>
        ///颜色
        ///</summary>
        public string COLORTXT { get; set; }
         
        ///<summary>
        ///零件类别
        ///</summary>
        public string PRODUCTTYPENAME { get; set; }



        ///<summary>
        ///当前工序
        ///</summary>
        public ProcessSet processSet { get; set; }

        ///<summary>
        ///当前所有工序
        ///</summary>
        public List<ProcessSet> processSets { get; set; }

        /// <summary>
        /// 导出使用的TableName
        /// </summary>
        public string TableName { get; set; }
        #endregion
    }
}