using System;
using System.Collections.Generic;

namespace MDL.Models
{
    /// <summary>
    /// 启动自动集包请求
    /// </summary>
    public class StartAutoPackRequest
    {
        public string TagNumber { get; set; }
        public string Creator { get; set; } = "system";
    }

    /// <summary>
    /// 启动自动集包响应
    /// </summary>
    public class StartAutoPackResponse
    {
        public string TaskId { get; set; }
        public string TagNumber { get; set; }
        public string Status { get; set; }
        public int TotalCount { get; set; }
        public string Message { get; set; }
    }

    /// <summary>
    /// 自动集包进度响应
    /// </summary>
    public class AutoPackProgressResponse
    {
        public string TaskId { get; set; }
        public string TagNumber { get; set; }
        public string Status { get; set; }
        public int TotalCount { get; set; }
        public int ProcessedCount { get; set; }
        public int SuccessCount { get; set; }
        public int FailedCount { get; set; }
        public string CurrentWaybill { get; set; }
        public int Progress { get; set; }
        public string Message { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime? EstimatedEndTime { get; set; }
        public List<AutoPackFailedItem> FailedItems { get; set; }
    }

    /// <summary>
    /// 自动集包结果响应
    /// </summary>
    public class AutoPackResultResponse
    {
        public string TaskId { get; set; }
        public string TagNumber { get; set; }
        public string Status { get; set; }
        public int TotalCount { get; set; }
        public int SuccessCount { get; set; }
        public int FailedCount { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime? EndTime { get; set; }
        public int Duration { get; set; }
        public List<AutoPackFailedItem> FailedItems { get; set; }
    }
}
