using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.Entities.Financial
{
    /// <summary>
    /// 雷怡 2024-01-17 17:56
    /// 财务 - 团组 超支费用
    /// </summary>
    [SugarTable("Fin_GroupExtraCost")]
    public class Fin_GroupExtraCost : EntityBase
    {
        /// <summary>
        /// 团组Id
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int DiId { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
        public string? PriceName { get; set; }

        /// <summary>
        /// 费用金额
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
        public decimal Price { get; set; }

        /// <summary>
        /// 费用数量
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int PriceCount { get; set; }

        /// <summary>
        /// 费用总金额
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(14,2)")]
        public decimal PriceSum { get; set; }

        /// <summary>
        /// 费用实际产生时间
        /// </summary>
        [SugarColumn(ColumnDescription = "创建时间", IsNullable = true, ColumnDataType = "DateTime")]
        public DateTime PriceDt { get; set; } = DateTime.Now;


        /// <summary>
        /// 团组Id(币种ID)
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int PriceCurrency { get; set; }

        /// <summary>
        /// 费用类型(类型ID)
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int PriceType { get; set; }

        /// <summary>
        /// 系数
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
        public decimal Coefficient { get; set; }

        /// <summary>
        /// 费用详细类型(类型ID)
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int PriceDetailType{ get; set; }

        /// <summary>
        /// 附件地址
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
        public string? FilePath { get; set; }

        /// <summary>
        /// 地区
        /// </summary>
        public int? Area { get; set; }

        /// <summary>
        /// 经理确认
        /// </summary>
        public int? ManagerConfirm { get; set; }

        /// <summary>
        /// 主管确认
        /// </summary>
        public int? SupervisorConfirm { get; set; }

        /// <summary>
        /// 商邀主管确认
        /// </summary>
        public int? SYsupervisorConfirm { get; set; }
    }
}