using System;
using SqlSugar;

namespace MDL.DTOs
{
    /// <summary>
    /// 每日标签统计数据（中文版本）DTO
    /// </summary>
    public class DailyLabelStatsChineseDto
    {
        /// <summary>
        /// 日期
        /// </summary>
        [SugarColumn(ColumnName = "日期")]
        public string Date { get; set; }

        /// <summary>
        /// 当日新增换单数
        /// </summary>
        [SugarColumn(ColumnName = "当日新增换单数")]
        public int DailyNewReplaceCount { get; set; }

        /// <summary>
        /// 累计要换的总单数
        /// </summary>
        [SugarColumn(ColumnName = "累计要换的总单数")]
        public int CumulativeTotalReplaceCount { get; set; }

        /// <summary>
        /// 换单失败未完结订单
        /// </summary>
        [SugarColumn(ColumnName = "换单失败未完结订单")]
        public int UnfinishedFailureCount { get; set; }

        /// <summary>
        /// 当日换单失败
        /// </summary>
        [SugarColumn(ColumnName = "当日换单失败")]
        public int DailyFailureCount { get; set; }

        /// <summary>
        /// 当日换单成功数
        /// </summary>
        [SugarColumn(ColumnName = "当日换单成功数")]
        public int DailySuccessCount { get; set; }

        /// <summary>
        /// 当日STOP数
        /// </summary>
        [SugarColumn(ColumnName = "当日STOP数")]
        public int DailyStopCount { get; set; }

        /// <summary>
        /// 24H换单率
        /// </summary>
        [SugarColumn(ColumnName = "24H换单率")]
        public string Rate24Hour { get; set; }

        /// <summary>
        /// 当天换单完成率
        /// </summary>
        [SugarColumn(ColumnName = "当天换单完成率")]
        public string DailyCompletionRate { get; set; }

        /// <summary>
        /// 当日标签推送数
        /// </summary>
        [SugarColumn(ColumnName = "当日标签推送数")]
        public int DailyLabelPushCount { get; set; }

        /// <summary>
        /// 当日扫描数
        /// </summary>
        [SugarColumn(ColumnName = "当日扫描数")]
        public int DailyScanCount { get; set; }

        /// <summary>
        /// 数据拉取时间（UTC-5）
        /// </summary>
        [SugarColumn(ColumnName = "数据拉取时间（UTC_5）")]
        public DateTime DataFetchTime { get; set; }

        /// <summary>
        /// 16点前到仓的包裹数
        /// </summary>
        [SugarColumn(ColumnName = "16点前到仓包裹数")]
        public int BeforeNoonArrivedCount { get; set; }

        /// <summary>
        /// 16点后到仓的包裹数
        /// </summary>
        [SugarColumn(ColumnName = "16点后到仓包裹数")]
        public int AfternoonArrivedCount { get; set; }

        /// <summary>
        /// 当天应该换单数（历史未完成+当日新增）
        /// </summary>
        [SugarColumn(ColumnName = "当天应该换单数")]
        public int ShouldReplaceCount { get; set; }

        /// <summary>
        /// 16点前考核通过的包裹数
        /// </summary>
        [SugarColumn(ColumnName = "16点前考核通过包裹数")]
        public int BeforeNoonPassedCount { get; set; }

        /// <summary>
        /// 16点后考核通过的包裹数
        /// </summary>
        [SugarColumn(ColumnName = "16点后考核通过包裹数")]
        public int AfternoonPassedCount { get; set; }
    }
}
