165 lines
3.3 KiB
C#
165 lines
3.3 KiB
C#
namespace OrpaonVision.Model.Production;
|
||
|
||
/// <summary>
|
||
/// 产品会话模型。
|
||
/// </summary>
|
||
public sealed class ProductionSessionModel
|
||
{
|
||
/// <summary>
|
||
/// 会话ID。
|
||
/// </summary>
|
||
public Guid SessionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 产品类型编码。
|
||
/// </summary>
|
||
public string ProductTypeCode { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 产品类型名称。
|
||
/// </summary>
|
||
public string ProductTypeName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 工位ID。
|
||
/// </summary>
|
||
public string StationId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 工位名称。
|
||
/// </summary>
|
||
public string StationName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 操作员ID。
|
||
/// </summary>
|
||
public string OperatorId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 操作员姓名。
|
||
/// </summary>
|
||
public string OperatorName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 班次ID。
|
||
/// </summary>
|
||
public string ShiftId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 班次名称。
|
||
/// </summary>
|
||
public string ShiftName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 开始时间(UTC)。
|
||
/// </summary>
|
||
public DateTime StartedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 结束时间(UTC)。
|
||
/// </summary>
|
||
public DateTime? EndedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 会话状态。
|
||
/// </summary>
|
||
public ProductionSessionStatus Status { get; set; }
|
||
|
||
/// <summary>
|
||
/// 最终结果。
|
||
/// </summary>
|
||
public ProductionSessionResult Result { get; set; }
|
||
|
||
/// <summary>
|
||
/// 当前层级。
|
||
/// </summary>
|
||
public int CurrentLayer { get; set; }
|
||
|
||
/// <summary>
|
||
/// 总层级数。
|
||
/// </summary>
|
||
public int TotalLayers { get; set; }
|
||
|
||
/// <summary>
|
||
/// NG原因。
|
||
/// </summary>
|
||
public string? NgReason { get; set; }
|
||
|
||
/// <summary>
|
||
/// 备注。
|
||
/// </summary>
|
||
public string? Remark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间(UTC)。
|
||
/// </summary>
|
||
public DateTime UpdatedAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人。
|
||
/// </summary>
|
||
public string CreatedBy { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 更新人。
|
||
/// </summary>
|
||
public string UpdatedBy { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 产品会话状态枚举。
|
||
/// </summary>
|
||
public enum ProductionSessionStatus
|
||
{
|
||
/// <summary>
|
||
/// 进行中。
|
||
/// </summary>
|
||
InProgress = 0,
|
||
|
||
/// <summary>
|
||
/// 已完成(OK)。
|
||
/// </summary>
|
||
CompletedOk = 1,
|
||
|
||
/// <summary>
|
||
/// 已完成(NG)。
|
||
/// </summary>
|
||
CompletedNg = 2,
|
||
|
||
/// <summary>
|
||
/// 已取消。
|
||
/// </summary>
|
||
Cancelled = 3,
|
||
|
||
/// <summary>
|
||
/// 已暂停。
|
||
/// </summary>
|
||
Paused = 4
|
||
}
|
||
|
||
/// <summary>
|
||
/// 产品会话结果枚举。
|
||
/// </summary>
|
||
public enum ProductionSessionResult
|
||
{
|
||
/// <summary>
|
||
/// 待定。
|
||
/// </summary>
|
||
Pending = 0,
|
||
|
||
/// <summary>
|
||
/// 合格。
|
||
/// </summary>
|
||
Ok = 1,
|
||
|
||
/// <summary>
|
||
/// 不合格。
|
||
/// </summary>
|
||
Ng = 2
|
||
}
|