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