using System; using System.Collections.Generic; namespace NPP.SmartSchedue.Api.Contracts.Services.Work.Output; /// /// 任务自检结果 /// public class WorkOrderValidationOutput { /// /// 任务ID /// public long WorkOrderId { get; set; } /// /// 任务名称 /// public string WorkOrderCode { get; set; } /// /// 总体验证是否通过 /// public bool IsValid { get; set; } /// /// 验证错误列表 /// public List Errors { get; set; } = new(); /// /// 人员空闲状态检查结果 /// public List PersonnelResults { get; set; } = new(); } /// /// 多任务自检结果 /// public class MultipleWorkOrderValidationOutput { /// /// 总体验证是否通过 /// public bool IsValid { get; set; } /// /// 各任务验证结果 /// public List WorkOrderResults { get; set; } = new(); /// /// 跨任务冲突检查结果 /// public List CrossTaskConflicts { get; set; } = new(); } /// /// 工作任务验证错误信息 /// public class WorkOrderValidationError { /// /// 错误类型 /// public ValidationErrorType ErrorType { get; set; } /// /// 错误信息 /// public string Message { get; set; } /// /// 相关人员ID /// public long? PersonnelId { get; set; } /// /// 相关人员姓名 /// public string PersonnelName { get; set; } } /// /// 人员空闲状态检查结果 /// public class PersonnelAvailabilityResult { /// /// 人员ID /// public long PersonnelId { get; set; } /// /// 人员姓名 /// public string PersonnelName { get; set; } /// /// 是否空闲可用 /// public bool IsAvailable { get; set; } /// /// 请假冲突 /// public bool HasLeaveConflict { get; set; } /// /// 任务时间冲突 /// public bool HasTaskTimeConflict { get; set; } /// /// 工作时间限制冲突 /// public bool HasWorkLimitConflict { get; set; } /// /// 冲突详情 /// public List ConflictDetails { get; set; } = new(); } /// /// 验证错误类型 /// public enum ValidationErrorType { /// /// 人员请假冲突 /// PersonnelLeaveConflict = 1, /// /// 任务时间冲突 /// TaskTimeConflict = 2, /// /// 工作时间限制冲突 /// WorkLimitConflict = 3, /// /// 连续工作时间超限 /// ContinuousWorkTimeExceeded = 4, /// /// 班次规则冲突 /// ShiftRuleConflict = 5 }