using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
///
/// 实体:生产过程记录
///
[Description("Primary:ID")]
[DisplayName("生产过程记录")]
[Serializable]
[SugarTable("MES_WIP_HIS")]
public class MES_WIP_HIS : DbEntityWithAuth
{
#region 构造函数
///
/// 实体:生产过程记录
///
public MES_WIP_HIS() { }
///
/// 实体:生产过程记录
///
/// 历史的来源Item
/// 追溯信息
public MES_WIP_HIS(MES_WIP_DATA data, string traceInfo)
{
ID = Guid.NewGuid().ToString("N");
CREATE_USER = data.CREATE_USER;
UPDATE_USER = data.UPDATE_USER;
AUTH_ORG = data.AUTH_ORG;
AUTH_PROD = data.AUTH_PROD;
AUTH_WH = data.AUTH_WH;
WIP_ID = data.ID;
SN = data.SN;
STATUS = data.STATUS;
ITEM_CODE = data.ITEM_CODE;
QTY = data.QTY;
WORK_ORDER = data.WORK_ORDER;
BATCH_NO = data.BATCH_NO;
ROT_CODE = data.ROT_CODE;
NODE_ID = data.NODE_ID;
NODE_NAME = data.NODE_NAME;
FTY_CODE = data.FTY_CODE;
WS_CODE = data.WS_CODE;
LINE_CODE = data.LINE_CODE;
POST_CODE = data.POST_CODE;
OPER_CODE = data.OPER_CODE;
SEGMENT = data.SEGMENT;
HOLD_FLAG = data.HOLD_FLAG;
REWORK_FLAG = data.REWORK_FLAG;
UNBIND_FLAG = data.UNBIND_FLAG;
FINISHED_FLAG = data.FINISHED_FLAG;
DFT_FLAG = data.DFT_FLAG;
DFT_COUNT = data.DFT_COUNT;
DFT_CODE = data.DFT_CODE;
REFLOW_NODE = data.REFLOW_NODE;
FLOW_SN = data.FLOW_SN;
TRAY_SN = data.TRAY_SN;
INNER_SN = data.INNER_SN;
CARTON_SN = data.CARTON_SN;
PALLET_SN = data.PALLET_SN;
INV_FLAG = data.INV_FLAG;
INV_DATE = data.INV_DATE;
INLINE_DATE = data.INLINE_DATE;
OUTLINE_DATE = data.OUTLINE_DATE;
OPERATION_TIME = data.OPERATION_TIME;
OPERATION_END = data.OPERATION_END;
DFT_QTY = data.DFT_QTY;
SCRAP_QTY = data.SCRAP_QTY;
SFTS_CODE = data.SFTS_CODE;
SFT_CODE = data.SFT_CODE;
PRD_CODE = data.PRD_CODE;
OBA_STATUS = data.OBA_STATUS;
OBA_BATCH = data.OBA_BATCH;
LOCK_BATCH = data.LOCK_BATCH;
SHIPPING_DATE = data.SHIPPING_DATE;
SHIPPING_ORDER = data.SHIPPING_ORDER;
REMARK = data.REMARK;
TRACE_INFO = traceInfo;
}
#endregion
#region 公共属性
///
/// 在制品ID
///
[DisplayName("在制品ID")]
public string WIP_ID { get; set; }
///
/// 过站条码
///
[DisplayName("过站条码")]
public string SN { get; set; }
///
/// 状态(0Init初始化|10Input已投入|20OK良品过站|30NG不良过站|40Repair维修中|50Output已产出|51WaitStorage待入库|52WaitShipment待出货|60InStorage已入库|61Reject已拒收|80Shipped已出货|90Scrap已报废|91Offline异常下线)
///
[DisplayName("状态(0Init初始化|10Input已投入|20OK良品过站|30NG不良过站|40Repair维修中|50Output已产出|51WaitStorage待入库|52WaitShipment待出货|60InStorage已入库|61Reject已拒收|80Shipped已出货|90Scrap已报废|91Offline异常下线)")]
public int STATUS { get; set; }
///
/// 物料编码
///
[DisplayName("物料编码")]
public string ITEM_CODE { get; set; }
///
/// 数量
///
[DisplayName("数量")]
public double QTY { get; set; } = 1;
///
/// 工单号
///
[DisplayName("工单号")]
public string WORK_ORDER { get; set; }
///
/// 工单批次号
///
[DisplayName("工单批次号")]
public string BATCH_NO { get; set; }
///
/// 工艺路线编码
///
[DisplayName("工艺路线编码")]
public string ROT_CODE { get; set; }
///
/// 工艺路线节点ID
///
[DisplayName("工艺路线节点ID")]
public string NODE_ID { get; set; }
///
/// 工艺路线节点名称
///
[DisplayName("工艺路线节点名称")]
public string NODE_NAME { get; set; }
///
/// 工厂编码
///
[DisplayName("工厂编码")]
public string FTY_CODE { get; set; }
///
/// 车间编码
///
[DisplayName("车间编码")]
public string WS_CODE { get; set; }
///
/// 产线编码
///
[DisplayName("产线编码")]
public string LINE_CODE { get; set; }
///
/// 岗位编码
///
[DisplayName("岗位编码")]
public string POST_CODE { get; set; }
///
/// 工序编码
///
[DisplayName("工序编码")]
public string OPER_CODE { get; set; }
///
/// 加工段
///
[DisplayName("加工段")]
public string SEGMENT { get; set; }
///
/// 锁定标记
///
[DisplayName("锁定标记")]
public string HOLD_FLAG { get; set; }
///
/// 返工标记
///
[DisplayName("返工标记")]
public string REWORK_FLAG { get; set; }
///
/// 解绑标记(因异常下线导致当前记录从工单生产数据中移除,不参与工艺流程计算和数据统计)
///
[DisplayName("解绑标记(因异常下线导致当前记录从工单生产数据中移除,不参与工艺流程计算和数据统计)")]
public string UNBIND_FLAG { get; set; }
///
/// 是否完工
///
[DisplayName("是否完工")]
public string FINISHED_FLAG { get; set; }
///
/// 是否不良
///
[DisplayName("是否不良")]
public string DFT_FLAG { get; set; }
///
/// 不良计数
///
[DisplayName("不良计数")]
public int DFT_COUNT { get; set; }
///
/// 不良代码编码
///
[DisplayName("不良代码编码")]
public string DFT_CODE { get; set; }
///
/// 维修回流工序名称(为空则不指定回流工序)
///
[DisplayName("维修回流工序名称(为空则不指定回流工序)")]
public string REFLOW_NODE { get; set; }
///
/// 厂内流转条码
///
[DisplayName("厂内流转条码")]
public string FLOW_SN { get; set; }
///
/// 托盘/载具条码
///
[DisplayName("托盘/载具条码")]
public string TRAY_SN { get; set; }
///
/// 内包装条码
///
[DisplayName("内包装条码")]
public string INNER_SN { get; set; }
///
/// 外箱条码
///
[DisplayName("外箱条码")]
public string CARTON_SN { get; set; }
///
/// 栈板条码
///
[DisplayName("栈板条码")]
public string PALLET_SN { get; set; }
///
/// 是否入库
///
[DisplayName("是否入库")]
public string INV_FLAG { get; set; }
///
/// 入库日期
///
[DisplayName("入库日期")]
public DateTime INV_DATE { get; set; } = DateTime.MinValue;
///
/// 投入时间
///
[DisplayName("投入时间")]
public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
///
/// 产出时间
///
[DisplayName("产出时间")]
public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
///
/// 当前操作时间
///
[DisplayName("当前操作时间")]
public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
///
/// 操作完成时间
///
[DisplayName("操作完成时间")]
public DateTime OPERATION_END { get; set; } = DateTime.MinValue;
///
/// 不良数量
///
[DisplayName("不良数量")]
public int DFT_QTY { get; set; } = 0;
///
/// 报废数量
///
[DisplayName("报废数量")]
public int SCRAP_QTY { get; set; } = 0;
///
/// 班制编码
///
[DisplayName("班制编码")]
public string SFTS_CODE { get; set; }
///
/// 班次编码
///
[DisplayName("班次编码")]
public string SFT_CODE { get; set; }
///
/// 时段编码
///
[DisplayName("时段编码")]
public string PRD_CODE { get; set; }
///
/// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
///
[DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
public int OBA_STATUS { get; set; }
///
/// 抽检批次号
///
[DisplayName("抽检批次号")]
public string OBA_BATCH { get; set; }
///
/// 锁定批次号
///
[DisplayName("锁定批次号")]
public string LOCK_BATCH { get; set; }
///
/// 出货时间
///
[DisplayName("出货时间")]
public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
///
/// 出货单号
///
[DisplayName("出货单号")]
public string SHIPPING_ORDER { get; set; }
///
/// 备注
///
[DisplayName("备注")]
public string REMARK { get; set; }
///
/// 操作耗时(s)
///
[DisplayName("操作耗时(ms)")]
public long ELAPSED_TIME { get; set; } = 0;
///
/// 追溯信息
///
[DisplayName("追溯信息")]
public string TRACE_INFO { get; set; }
#endregion
#region 虚拟属性
/*例子
[SugarColumn(IsIgnore = true)]
public string FieldName { get; set; }
*/
///
/// 是否已经良品过站
///
[SugarColumn(IsIgnore = true)]
public bool IsFinished => DFT_FLAG != "Y";
#endregion
#region 外键属性
/*例子
//一对一外键导航
[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_HIS类里面的外键ID字段
public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
//一对多外键导航
[Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_HISId))]//ClassA表中的MES_WIP_HISId
public List ClassAList { get; set; }//注意禁止手动赋值,只能是null
//多对多外键导航
[Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_HISId), nameof(MappingClass.ClassAId))]//注意顺序
public List ClassAList { get; set; } //注意禁止手动赋值,只能是null
*/
#endregion
#region 枚举变量
/*例子
public enum FieldNames
{
[Description("枚举描述0")]
Enum0,
[Description("枚举描述1")]
Enum1,
}
*/
///
/// 枚举:状态(0Init初始化|10Input已投入|20OK良品过站|30NG不良过站|40Repair维修中|50Output已产出|51WaitStorage待入库|52WaitShipment待出货|60InStorage已入库|61Reject已拒收|80Shipped已出货|90Scrap已报废|91Offline异常下线)
///
public enum STATUSs
{
[Description("初始化")]
Init = 0,
[Description("已投入")]
Input = 1,
[Description("良品过站")]
OK = 2,
[Description("不良过站")]
NG = 3,
[Description("维修中")]
Repair = 4,
[Description("已完工")]
Finished = 5,
[Description("已入库")]
InStorage = 6,
[Description("已拒收")]
Reject = 7,
[Description("已出货")]
Shipped = 8,
[Description("异常下线")]
Offline = 9,
[Description("已报废")]
Scrap = 10,
}
///
/// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
///
public enum OBA_STATUSs
{
[Description("未抽检")]
Unsampled = 0,
[Description("不抽检")]
NoSampling = 1,
[Description("待检验")]
WaitCheck = 2,
[Description("检验中")]
Checking = 3,
[Description("检验完")]
Completed = 4,
[Description("已锁定")]
Locked = 5,
}
#endregion
#region 公共方法
#endregion
}//endClass
}