using System;
using System.Collections.Generic;
namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Output;
///
/// 完成整合记录结果
/// 包含完成操作的详细结果和统计信息
///
public class CompleteIntegrationRecordResult
{
///
/// 完成操作是否成功
///
public bool IsSuccess { get; set; }
///
/// 完成成功消息
///
public string SuccessMessage { get; set; } = string.Empty;
///
/// 完成失败消息
///
public string ErrorMessage { get; set; } = string.Empty;
///
/// 整合记录ID
///
public long IntegrationRecordId { get; set; }
///
/// 完成时间
///
public DateTime CompletedTime { get; set; }
///
/// 整合批次编码
///
public string IntegrationBatchCode { get; set; } = string.Empty;
///
/// 完成验证结果
/// 验证所有任务是否都已完成
///
public CompleteValidationResult ValidationResult { get; set; } = new();
///
/// 完成统计信息
///
public CompleteStatistics Statistics { get; set; } = new();
///
/// 警告信息列表
///
public List WarningMessages { get; set; } = new();
}
///
/// 完成验证结果
///
public class CompleteValidationResult
{
///
/// 验证是否通过
///
public bool IsValid { get; set; }
///
/// 验证时间
///
public DateTime ValidationTime { get; set; }
///
/// 总任务数
///
public int TotalTaskCount { get; set; }
///
/// 已完成任务数
///
public int CompletedTaskCount { get; set; }
///
/// 未完成任务数
///
public int IncompleteTaskCount { get; set; }
///
/// 未完成任务列表
///
public List IncompleteTasks { get; set; } = new();
///
/// 完成率
///
public decimal CompletionRate { get; set; }
///
/// 验证详情
///
public string ValidationDetails { get; set; } = string.Empty;
}
///
/// 未完成任务信息
///
public class IncompleteTaskInfo
{
///
/// 任务ID
///
public long TaskId { get; set; }
///
/// 任务代码
///
public string TaskCode { get; set; } = string.Empty;
///
/// 当前状态
///
public string CurrentStatus { get; set; } = string.Empty;
///
/// 分配人员姓名
///
public string AssignedPersonnelName { get; set; } = string.Empty;
///
/// 分配设备名称
///
public string AssignedEquipmentName { get; set; } = string.Empty;
///
/// 计划工作日期
///
public DateTime WorkOrderDate { get; set; }
///
/// 未完成原因
///
public string IncompleteReason { get; set; } = string.Empty;
}
///
/// 完成统计信息
///
public class CompleteStatistics
{
///
/// 整合记录持续时间(从发布到完成的毫秒数)
///
public long IntegrationDurationMilliseconds { get; set; }
///
/// 平均任务执行时间(毫秒)
///
public long AverageTaskExecutionTime { get; set; }
///
/// 最快完成任务时间(毫秒)
///
public long FastestTaskTime { get; set; }
///
/// 最慢完成任务时间(毫秒)
///
public long SlowestTaskTime { get; set; }
///
/// 人员效率统计
///
public List PersonnelEfficiencyStats { get; set; } = new();
///
/// 设备利用率统计
///
public List EquipmentUtilizationStats { get; set; } = new();
///
/// 整体效率评分(0-100)
///
public int OverallEfficiencyScore { get; set; }
}
///
/// 人员效率统计
///
public class PersonnelEfficiencyStats
{
///
/// 人员ID
///
public long PersonnelId { get; set; }
///
/// 人员姓名
///
public string PersonnelName { get; set; } = string.Empty;
///
/// 完成任务数
///
public int CompletedTaskCount { get; set; }
///
/// 平均任务耗时(毫秒)
///
public long AverageTaskTime { get; set; }
///
/// 效率评分(0-100)
///
public int EfficiencyScore { get; set; }
///
/// 任务质量评分(0-100)
///
public int QualityScore { get; set; }
}
///
/// 设备利用率统计
///
public class EquipmentUtilizationStats
{
///
/// 设备ID
///
public long EquipmentId { get; set; }
///
/// 设备名称
///
public string EquipmentName { get; set; } = string.Empty;
///
/// 完成任务数
///
public int CompletedTaskCount { get; set; }
///
/// 总使用时间(毫秒)
///
public long TotalUsageTime { get; set; }
///
/// 实际利用率(百分比)
///
public decimal ActualUtilizationRate { get; set; }
///
/// 计划利用率(百分比)
///
public decimal PlannedUtilizationRate { get; set; }
///
/// 利用率达成度(百分比)
///
public decimal UtilizationAchievementRate { get; set; }
}