using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using XYY.Common.Standard.Attributes;
using XYY.Core.Standard;

namespace XYY.Model.Standard.Finance
{


    public class Finance_CustomerDeliveryBillDetailInput2 : BaseEntity
    {

        [DisplayName("运单号")]
        public string TrackingNumber
        {
            get; set;
        }

        public int BillId
        {
            get; set;
        }

        [DisplayName("金额")]
        public decimal Amount
        {
            get; set;
        }

        public decimal ConfirmedAmount
        {
            get; set;
        }

        [DisplayName("重量")]
        public decimal Weight
        {
            get; set;
        }

        public decimal Surcharge
        {
            get; set;
        }

    }

    public class Finance_CustomerDeliveryBillClaimInput : BaseEntity
    {
        [DisplayName("运单号")]
        public string TrackingNumber
        {
            get; set;
        }

        public int BillId
        {
            get; set;
        }

        [DisplayName("成本")]
        public decimal Cost
        {
            get; set;
        }
        [DisplayName("运费")]
        public decimal Freight
        {
            get; set;
        }
        [DisplayName("价值")]
        public decimal TotalValue
        {
            get; set;
        }
        [DisplayName("总金额")]
        public decimal TotalAmount
        {
            get; set;
        }
        [DisplayName("索赔方案")]
        public string Solution
        {
            get; set;
        }
    }

    public class Finance_CustomerDeliveryBillDetailInput : BaseEntity
    {

        [DisplayName("运单号")]
        public string TrackingNumber
        {
            get; set;
        }

        public int BillId
        {
            get; set;
        }

        [DisplayName("金额")]
        public decimal Amount
        {
            get; set;
        }

        public decimal ConfirmedAmount
        {
            get; set;
        }

        [DisplayName("重量")]
        public decimal Weight
        {
            get; set;
        }

        [DisplayName("附加费")]
        public decimal AttachFee
        {
            get; set;
        }

        [DisplayName("税费")]
        public decimal TaxFee
        {
            get; set;
        }

        /// <summary>
        /// 备注
        /// </summary>
        public string OrderRemark
        {
            get; set;
        }

        public FinanceCustomerSupplementOrDeductionType FinanceCustomerSupplementType
        {
            get; set;
        }

    }

    /// <summary>
    /// 客户发货状态
    /// </summary>

    /// <summary>
    /// 客户发货状态
    /// </summary>
    public class Finance_CustomerDeliveryBillDetail
    {
        [NoDb]
        public int No
        {
            get; set;
        }
        [NoDb]
        public string ZT
        {
            get; set;
        }
        [NoDb]
        public int BoxQty
        {
            get; set;
        }

        [NoDb]
        public string Empty1
        {
            get; set;
        }
        [NoDb]
        public string Empty2
        {
            get; set;
        }
        [NoDb]
        public string Empty3
        {
            get; set;
        }

        [NoDb]
        public string Empty4
        {
            get; set;
        }
        [NoDb]
        public decimal SumAmount
        {
            get; set;
        }

        [NoDb]
        public string OtherFee
        {
            get; set;
        }

        public bool IsOnline
        {
            get; set;
        }

        public decimal EUTariffRate
        {
            get; set;
        }

        public string CustomerName
        {
            get; set;
        }
        public string SystemNo
        {
            get; set;
        }

        public string TransferNumber
        {
            get; set;
        }

        public string CustomerOrderNo
        {
            get; set;
        }

        public string ChannelName
        {
            get; set;
        }

        public string DeliveryChannelName
        {
            get; set;
        }

        public string CountryCode
        {
            get; set;
        }

        public DateTime WeightTime
        {
            get; set;
        }

        //public decimal Incidental
        //{
        //    get; set;
        //}

        //public decimal Total
        //{
        //    get; set;
        //}


        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public int Id { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateUserName { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }
        /// <summary>
        /// 更新人
        /// </summary>
        public string UpdateUserName { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string Remark { get; set; }

        [DisplayName("运单号")]
        public string TrackingNumber
        {
            get; set;
        }

        public int OrderId
        {
            get; set;
        }

        public int BillId
        {
            get; set;
        }

        [DisplayName("金额")]
        public decimal Amount
        {
            get; set;
        }

        [DisplayName("系统金额")]
        public decimal SysAmount
        {
            get; set;
        }

        [DisplayName("费用类型")]
        public ServiceFeeType FeeType
        {
            get; set;
        }

        [DisplayName("确认金额")]
        public decimal ConfirmedAmount
        {
            get; set;
        }

        [DisplayName("重量")]
        public decimal Weight
        {
            get; set;
        }

        [DisplayName("系统重量")]
        public decimal SysWeight
        {
            get; set;
        }

        public decimal CustomerWeight
        {
            get; set;
        }

        [DisplayName("是否确认")]
        public bool Confirmed
        {
            get; set;
        }

        public string City
        {
            get; set;
        }

        public string ZipCode
        {
            get; set;
        }

        public string OrderRemark
        {
            get; set;
        }

        public decimal AttachFee
        {
            get; set;
        }

        public decimal Width
        {
            get; set;
        }

        public decimal Height
        {
            get; set;
        }

        public decimal Length
        {
            get; set;
        }

        public bool IOSS
        {
            get; set;
        }

        public decimal GoodsDeclaredVal
        {
            get; set;
        }

        public string GoodsDeclaredCurrency
        {
            get; set;
        }

        public decimal EUTariff
        {
            get; set;
        }

        public decimal ConfirmedEUTariff
        {
            get; set;
        }

        public FinanceCustomerSupplementOrDeductionType FinanceCustomerSupplementType
        {
            get; set;
        }

        public decimal OPCOperationFee
        {
            get; set;
        }

        public decimal OPCServiceCharge
        {
            get; set;
        }

        public string OPCVersion
        {
            get; set;
        }
    }
}
