Asoka.Wang 21f044712c 1
2025-08-27 18:39:19 +08:00

61 lines
2.0 KiB
C#

using System.Collections.Generic;
namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Output
{
/// <summary>
/// 任务需求分析结果
/// </summary>
public class TaskRequirementAnalysisResult
{
/// <summary>
/// 工序需求列表
/// </summary>
public List<TaskProcessRequirement> ProcessRequirements { get; set; } = new List<TaskProcessRequirement>();
/// <summary>
/// 资源需求统计
/// </summary>
public ResourceRequirement ResourceRequirements { get; set; } = new ResourceRequirement();
/// <summary>
/// 时间分布分析
/// </summary>
public TimeDistribution TimeDistribution { get; set; } = new TimeDistribution();
/// <summary>
/// 分析摘要
/// </summary>
public string AnalysisSummary { get; set; } = string.Empty;
}
/// <summary>
/// 任务工序需求
/// </summary>
public class TaskProcessRequirement
{
public long TaskId { get; set; }
public long ProcessId { get; set; }
public List<string> RequiredQualifications { get; set; } = new List<string>();
public System.TimeSpan? EstimatedDuration { get; set; }
public long? EquipmentTypeId { get; set; }
}
/// <summary>
/// 资源需求
/// </summary>
public class ResourceRequirement
{
public Dictionary<long, int> QualificationRequirements { get; set; } = new Dictionary<long, int>();
public Dictionary<string, double> EquipmentTypeRequirements { get; set; } = new Dictionary<string, double>();
}
/// <summary>
/// 时间分布
/// </summary>
public class TimeDistribution
{
public Dictionary<int, int> HourlyDistribution { get; set; } = new Dictionary<int, int>();
public Dictionary<long, int> ShiftDistribution { get; set; } = new Dictionary<long, int>();
public List<int> PeakHours { get; set; } = new List<int>();
}
}