using System;
using System.Collections.Generic;
namespace NPP.SmartSchedue.Api.Contracts.Services.Work.Input;
///
/// 任务分配推荐输入
///
public class WorkOrderAssignmentRecommendationInput
{
///
/// 任务ID列表
///
public List WorkOrderIds { get; set; } = new List();
///
/// 推荐开始日期
///
public DateTime StartDate { get; set; }
///
/// 推荐结束日期
///
public DateTime EndDate { get; set; }
///
/// 推荐策略
///
public string RecommendationStrategy { get; set; } = "balanced";
///
/// 是否考虑人员资质
///
public bool ConsiderQualification { get; set; } = true;
///
/// 是否考虑工作负荷
///
public bool ConsiderWorkload { get; set; } = true;
///
/// 是否考虑设备可用性
///
public bool ConsiderEquipmentAvailability { get; set; } = true;
///
/// 是否考虑时间冲突
///
public bool ConsiderTimeConflict { get; set; } = true;
///
/// 优先级权重配置
///
public PriorityWeightConfig PriorityWeights { get; set; } = new PriorityWeightConfig();
}
///
/// 优先级权重配置
///
public class PriorityWeightConfig
{
///
/// 资质匹配权重
///
public double QualificationWeight { get; set; } = 0.3;
///
/// 工作负荷权重
///
public double WorkloadWeight { get; set; } = 0.25;
///
/// 设备可用性权重
///
public double EquipmentWeight { get; set; } = 0.2;
///
/// 时间冲突权重
///
public double TimeConflictWeight { get; set; } = 0.15;
///
/// 历史表现权重
///
public double PerformanceWeight { get; set; } = 0.1;
}