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

70 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
namespace NPP.SmartSchedue.Api.Contracts.Services.Work.Input;
/// <summary>
/// 智能任务分配输入参数
/// </summary>
public class SmartAssignmentInput
{
/// <summary>
/// 偏好的人员ID
/// </summary>
public long? PreferredPersonnelId { get; set; }
/// <summary>
/// 分配策略 (如: "优先级", "负载均衡", "技能匹配"等)
/// </summary>
public string AssignmentStrategy { get; set; }
/// <summary>
/// 是否考虑人员技能匹配
/// </summary>
public bool ConsiderSkills { get; set; } = true;
/// <summary>
/// 是否考虑人员当前负载
/// </summary>
public bool ConsiderWorkload { get; set; } = true;
/// <summary>
/// 是否考虑时间约束
/// </summary>
public bool ConsiderTimeConstraints { get; set; } = true;
/// <summary>
/// 优先级权重
/// </summary>
public int PriorityWeight { get; set; } = 1;
/// <summary>
/// 技能匹配权重
/// </summary>
public int SkillWeight { get; set; } = 1;
/// <summary>
/// 负载均衡权重
/// </summary>
public int WorkloadWeight { get; set; } = 1;
/// <summary>
/// 最早开始时间
/// </summary>
public DateTime? EarliestStartTime { get; set; }
/// <summary>
/// 最晚完成时间
/// </summary>
public DateTime? LatestEndTime { get; set; }
/// <summary>
/// 所需技能列表
/// </summary>
public List<string> RequiredSkills { get; set; } = new List<string>();
/// <summary>
/// 所需设备列表
/// </summary>
public List<long> RequiredEquipmentIds { get; set; } = new List<long>();
}