Files
OrpaonVision/OrpaonVision.Model/Production/ProductionSessionModel.cs
2026-04-06 22:04:05 +08:00

165 lines
3.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}