namespace Admin.NET.Plugin.AiDOP.Dto.S8;
///
/// G-06 最小问题台账查询入参。一异常单一台账条目;告警条目不作为独立登记对象。
/// State 仅接受 discovered / processing / closed 或留空(全量);
/// hold / suspend / pending / all 等一律非法。
///
public class AdoS8IssueLedgerQueryDto
{
public long TenantId { get; set; } = 1;
public long FactoryId { get; set; } = 1;
/// 台账状态短码:discovered / processing / closed / 不传=全部。
public string? State { get; set; }
/// 按异常单 ID 精确查询(可选)。
public long? ExceptionId { get; set; }
public DateTime? BeginTime { get; set; }
public DateTime? EndTime { get; set; }
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 20;
}
///
/// G-06 最小问题台账返回条目。字段严格对齐《G-06 最小问题台账》§四。
/// 字段名为口径层称呼,不作物理字段契约;台账不新建表、不独立持久化。
///
public class AdoS8IssueLedgerItemDto
{
/// 台账主键(复用异常单 ID)。
public long Id { get; set; }
public long TenantId { get; set; }
public long FactoryId { get; set; }
/// 发现来源(AUTO_WATCH / MANUAL / OTHER 等;原值透传)。
public string SourceType { get; set; } = string.Empty;
/// 台账状态短码:discovered / processing / closed。由主链 Status 映射得出。
public string State { get; set; } = string.Empty;
/// 原始主链状态,保留追溯。
public string RawStatus { get; set; } = string.Empty;
/// 登记时间(异常单 created_at)。
public DateTime CreatedAt { get; set; }
/// 闭环时间(仅 CLOSED 触发点;其他均为空)。
public DateTime? ClosedAt { get; set; }
}