using Furion.TaskScheduler; using iWare.Wms.Core.Enum; using iWare.Wms.Core.Util.LowCode.Dto; using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace iWare.Wms.Application { /// /// 工件加工追溯PDA输出参数 /// public class WorkPieceProcessPdaOutput { /// /// 工件号 /// public string WorkPieceID { get; set; } /// /// 工件加工追溯 /// public List WorkPieceProcessList; } /// /// 工件加工追溯输出参数 /// public class WorkPieceProcessOutput { [StringLength(50)] public string DataCapturePointCname { get; set; } [StringLength(50)] public string UpdateDataCapturePointCname { get; set; } public string UpdatedUserName { get; set; } /// /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 /// public int? QualityNoOk { get; set; } /// /// 质量不合格原因 【Editby shaocx,2024-06-26】 /// public string QualityNoOkReason { get; set; } /// /// 工件号 /// public string WorkPieceID { get; set; } /// /// 成品码 /// public virtual string OP80NewCode { get; set; } /// /// 当前工序 /// public string WorkingProcedureCurrent { get; set; } /// /// 当前设备 /// public string EquipmentID { get; set; } /// /// 设备名称 /// public string EquipmentName { get; set; } /// /// 工序上线时间 /// public DateTime? StartTime { get; set; } private DateTime? m_EndTime = null; /// /// 工序下线时间 /// public DateTime? EndTime { get { if (m_EndTime == null) { return null; } if (m_EndTime == Convert.ToDateTime("0001-01-01")) { return null; } else { return m_EndTime; } } set { m_EndTime = value; } } /// /// 加工时长 /// public string TimeSceonds { get { if (EndTime == null || StartTime == null || EndTime == Convert.ToDateTime("0001-01-01") || StartTime == Convert.ToDateTime("0001-01-01")) { return ""; } TimeSpan ts = Convert.ToDateTime(EndTime) - Convert.ToDateTime(StartTime); return Convert.ToInt32(ts.TotalMinutes).ToString() + "min"; } } /// /// 质量状态 /// public int QualityState { get; set; } /// /// 质量状态名字 /// public string QualityStateName { get { if (1 == QualityState) { return "合格"; } else if (2 == QualityState) { return "不合格"; } else if (3 == QualityState) { return "疑似"; } else { return ""; } } } /// /// 操作类型(SPC/生产) /// public string OperationType { get; set; } /// /// 操作类型 /// public string OperationTypeHand { get { string str = ""; if (string.IsNullOrEmpty(OperationType)) { str = "其他"; } else { str = OperationType; } return str; } } /// /// 质量信息id /// public long QualityDataInfoID { get; set; } /// /// Id主键 /// public long Id { get; set; } /// /// 创建人 /// public string CreateUserName { get; set; } } /// /// 工件加工追溯文件导出输出参数 /// [Description("工件加工追溯信息(工件+工序)")] public class WorkPieceProcessExcelOutput { /// /// 工件号 /// [Description("工件号")] public string WorkPieceID { get; set; } /// /// 当前工序 /// [Description("当前工序")] public string WorkingProcedureCurrent { get; set; } /// /// 设备名称 /// [Description("设备名称")] public string EquipmentName { get; set; } /// /// 工序上线时间 /// [Description("上线时间")] public string StartTime { get; set; } private string m_EndTime = ""; /// /// 工序下线时间 /// [Description("下线时间")] public string EndTime { get { if (string.IsNullOrEmpty(m_EndTime)) { return ""; } if (m_EndTime.Contains("0001-01-01")) { return ""; } else { return m_EndTime; } } set { m_EndTime = value; } } /// /// 加工时长 /// [Description("加工时长")] public string TimeSceonds { get { if (string.IsNullOrEmpty(EndTime) || string.IsNullOrEmpty(StartTime)) { return ""; } TimeSpan ts = Convert.ToDateTime(EndTime) - Convert.ToDateTime(StartTime); return Convert.ToInt32(ts.TotalMinutes).ToString() + "min"; } } /// /// 质量状态 /// public int QualityState { get; set; } /// /// 质量状态名称 /// [Description("质量状态")] public string QualityStateName { get { if (1 == QualityState) { return "合格"; } else if (2 == QualityState) { return "不合格"; } else if (3 == QualityState) { return "疑似"; } else { return ""; } } } /// /// 成品码 /// [Description("成品码")] public string OP80NewCode { get; set; } /// /// Id主键 /// public long Id { get; set; } /// /// 创建人 /// [Description("数据来源")] public string CreateUserName { get; set; } } /// /// 工件加工追溯输出参数 /// public class WorkPieceInfoMachiningPageOutput { /// /// 质量不合格原因类型,枚举QualityNoOkEnum 【Editby shaocx,2024-06-26】 /// public int? QualityNoOk { get; set; } /// /// 质量不合格原因 【Editby shaocx,2024-06-26】 /// public string QualityNoOkReason { get; set; } /// /// 颜色类型 /// 检测工件: 1 黄色 ///正常工件:2 绿色 ///不合格工件: 3 红色 ///测量间检测工件:4 灰色 ///下线工件: 5 黑色 /// public int CololType { get { if (QualityState.HasValue && ((EnumQuantityState)(QualityState)) == EnumQuantityState.Fault) {//不合格工件 return 3; } if (WorkPieceState.HasValue && ((EnumWorkPieceState)WorkPieceState) == EnumWorkPieceState.FinishedProducts) {//下线工件 return 5; } if (WorkPieceCurrentPosition.Contains("SPC")) { return 1; } return 2; } } /// /// 工件号 /// public string WorkPieceID { get; set; } /// /// 成品码 /// public virtual string OP80NewCode { get; set; } /// /// 当前工序 /// public string WorkingProcedureCurrent { get; set; } /// /// 工序开始时间 /// public DateTime? WorkingProcedureStartTime { get; set; } /// /// 当前工序加工时长 /// public int? ProcessingDurationForCurrent { get; set; } /// /// 工件状态 /// public int? WorkPieceState { get; set; } /// /// 工件状态名称 /// public string WorkPieceStateName { get; set; } /// /// 当前设备 /// public string EquipmentID { get; set; } /// /// 设备名称 /// public string EquipmentName { get; set; } /// /// 工件当前位置序号 /// public int WorkPieceCurrentPositionOrder { get; set; } /// /// 工件当前位置 /// public string WorkPieceCurrentPosition { get; set; } /// /// 当前已完成工序流程 /// public string WorkingProcedureCompleted { get; set; } /// /// 计划工序流程 /// public string WorkingProcedurePlan { get; set; } /// /// 总加工时长 /// public int? ProcessingDurationTotal { get; set; } /// /// 当前时长 /// public string WorkPieceCurr { get { if (string.IsNullOrEmpty(WorkPieceinitOnlineTime) || WorkPieceinitOnlineTime.Contains("0001-01-01")) { return ""; } TimeSpan ts = new TimeSpan(); if (string.IsNullOrEmpty(WorkPieceLastOfflineTime) || WorkPieceLastOfflineTime.Contains("0001-01-01")) { ts = DateTime.Now - Convert.ToDateTime(WorkPieceinitOnlineTime); } else { ts = Convert.ToDateTime(WorkPieceLastOfflineTime) - Convert.ToDateTime(WorkPieceinitOnlineTime); } return Convert.ToInt32(ts.TotalMinutes).ToString() + "min"; } } /// /// 首工序上线时间 /// public string WorkPieceinitOnlineTime { get; set; } private string m_WorkPieceLastOfflineTime = ""; /// /// 工序下线时间 /// public string WorkPieceLastOfflineTime { get { if (string.IsNullOrEmpty(m_WorkPieceLastOfflineTime)) { return ""; } if (m_WorkPieceLastOfflineTime.Contains("0001-01-01")) { return ""; } else { return m_WorkPieceLastOfflineTime; } } set { m_WorkPieceLastOfflineTime = value; } } /// /// 加工时长 /// public string WorkPieceMachiningTotalTime { get { if (string.IsNullOrEmpty(WorkPieceinitOnlineTime) || string.IsNullOrEmpty(WorkPieceLastOfflineTime)) { return ""; } TimeSpan ts = Convert.ToDateTime(WorkPieceinitOnlineTime) - Convert.ToDateTime(WorkPieceLastOfflineTime); return Convert.ToInt32(ts.TotalMinutes).ToString() + "min"; } } /// /// 数量 /// public int Number { get; set; } /// /// 供应商 /// public string WorkPieceIDTo1 { get; set; } /// /// 零件设计尾号 /// public string WorkPieceIDTo2 { get; set; } /// /// 年月日 /// public string WorkPieceIDTo3 { get; set; } /// /// 班次 /// public string WorkPieceIDTo4 { get; set; } /// /// 流水号 /// public string WorkPieceIDTo5 { get; set; } /// /// 模具号 /// public string WorkPieceIDTo6 { get; set; } /// /// 炉号 /// public string WorkPieceIDTo7 { get; set; } /// /// 质量状态 /// public int? QualityState { get; set; } /// /// 质量状态名字 /// public string QualityStateName { get { if (1 == QualityState) { return "合格"; } else if (2 == QualityState) { return "不合格"; } else if (3 == QualityState) { return "疑似"; } else { return ""; } } } /// /// 质量状态变更人 /// public string QualityStateUpdateUser { get; set; } /// /// 质量状态变更时间 /// public DateTime QualityStateUpdateTime { get; set; } /// /// 质量状态变更方式 /// public string QualityStateUpdateMode { get; set; } /// /// 告警类型 /// public int AlertType { get; set; } /// /// 告警内容 /// public string AlertMsg { get; set; } /// /// 备注 /// public string Remarks { get; set; } /// /// Log添加时间 /// public DateTime LogAddTime { get; set; } /// /// Log新增备注 /// public string LogAddRemark { get; set; } /// /// Id主键 /// public long Id { get; set; } /// /// 操作类型(SPC/生产) /// public string OperationType { get; set; } /// /// 操作类型 /// public string OperationTypeHand { get { string str = ""; if (string.IsNullOrEmpty(OperationType)) { str = "其他"; } else { str = OperationType; } return str; } } } /// /// 导出Excel文件中字段 /// [Description("工件加工追溯信息(工件)")] public class WorkPieceInfoMachiningExcelPageOutput { /// /// 工件号 /// [Description("工件号")] public string WorkPieceID { get; set; } /// /// 当前工序 /// [Description("当前工序")] public string WorkingProcedureCurrent { get; set; } /// /// 工件状态名称 /// [Description("工件状态")] public string WorkPieceStateName { get; set; } /// /// 设备名称 /// [Description("设备名称")] public string EquipmentName { get; set; } /// /// 首工序上线时间 /// [Description("初始上线时间")] public string WorkPieceinitOnlineTime { get; set; } private string m_WorkPieceLastOfflineTime = ""; /// /// 工序下线时间 /// [Description("最终下线时间")] public string WorkPieceLastOfflineTime { get { if (string.IsNullOrEmpty(m_WorkPieceLastOfflineTime)) { return ""; } if (m_WorkPieceLastOfflineTime.Contains("0001-01-01")) { return ""; } else { return m_WorkPieceLastOfflineTime; } } set { m_WorkPieceLastOfflineTime = value; } } /// /// 加工时长 /// [Description("加工时长")] public string WorkPieceMachiningTotalTime { get { if (string.IsNullOrEmpty(WorkPieceinitOnlineTime) || string.IsNullOrEmpty(WorkPieceLastOfflineTime)) { return ""; } TimeSpan ts = Convert.ToDateTime(WorkPieceinitOnlineTime) - Convert.ToDateTime(WorkPieceLastOfflineTime); return Convert.ToInt32(ts.TotalMinutes).ToString() + "min"; } } /// /// 质量状态 /// private int? QualityState { get; set; } /// /// 质量状态名字 /// [Description("质量状态")] public string QualityStateName { get { if (1 == QualityState) { return "合格"; } else if (2 == QualityState) { return "不合格"; } else if (3 == QualityState) { return "疑似"; } else { return ""; } } } /// /// 成品码 /// [Description("成品码")] public string OP80NewCode { get; set; } /// /// Id主键 /// public long Id { get; set; } } }