using Elasticsearch.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XYY.Core.Standard;
using XYY.Model.Standard.Finance;

namespace XYY.Model.Standard.Logistics
{
    /// <summary>
    /// 批量调整客户报价记录
    /// 记录快递公开价调整之后，系统自动执行部分数据
    /// </summary>
    public class Logistics_ExpressBulkAdjustmentQuoteLog : BaseEntity
    {
        /// <summary>
        /// 批次号
        /// 无外部关联，划分数据作用
        /// </summary>
        public string BatchNo { get; set; }
        public int ExpressId { get; set; }
        public int SalesmanUserId { get; set; }
        public int? BranchCompanyId { get; set; }
        /// <summary>
        /// 合成后的zip路径
        /// </summary>
        public string ZipFileUrl { get; set; }
        public DateTime EnableTime { get; set; }

        public AdjustmentQuoteLogStatuEnum AdjustmentQuoteLogStatus { get; set; }
        public bool IsDeleteFile { get; set; }
        public string ResultMsg { get; set; }
        public string Description { get; set; }
    }
    /// <summary>
    /// 执行状态
    /// 顺序很重要，不可随意更改
    /// 有判断或取值用到顺序
    /// </summary>
    public enum AdjustmentQuoteLogStatuEnum
    {
        draft = 1,
        dataReady=10,
        fileReady = 20,
        fail = 30,
        success = 40,
        delete = 50,
    }
    public class ExpressBulkAdjustmentQuoteDto {
        public string CustomerCompanyName { get; set; }
        public int CustomerId { get; set; }
        public int SalesmanUserId { get; set; }
        public string Phone { get; set; }
        public string NickName { get; set; }
        public int BranchCompanyId { get; set; }
        public string BranchCompanyName { get; set; }

    }
    public class ExpressBulkAdjustmentExcuteDto {
        public Logistics_ExpressBulkAdjustmentQuoteLog logInfo { get; set; }
        public List<Logistics_ExpressBulkAdjustmentQuoteLogDetail> details { get; set; }
    }
    public class ExpressFeeAsAdjustmentResult
    {
        public string json { get; set; }
        public List<View_Quotation> detail { get; set; }
    }
    public class CustomerQuotationData {
        public int CustomerId { get; set; }
        public int AdjustmentId { get; set; }
        public int FeeBaseId { get; set; }
        public List<View_Quotation> quotations { get; set; }
    }

}
