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

namespace OASystem.Domain.Entities.Financial
{
    /// <summary>
    /// 财务 - 对外收款账单  应收
    /// 雷怡 2023-08-14 16:20
    /// </summary>
    [SugarTable("Fin_ForeignReceivables")]
    public class Fin_ForeignReceivables:EntityBase
    {
        /// <summary>
        /// 团组Id
        /// </summary>
        [SugarColumn(IsNullable = true,ColumnDataType = "int")]
        public int Diid { get; set; }

        /// <summary>
        /// 费用名称
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
        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 Count { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
        public string? Unit { get; set; }

        /// <summary>
        /// 单项总和
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
        public decimal ItemSumPrice { get; set; }

        /// <summary>
        /// 付款方 弃用 数据保留
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(225)")]
        public string? To { get; set; }

        /// <summary>
        /// 付款方电话 弃用 数据保留
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
        public string? ToTel { get; set; }

        /// <summary>
        /// 付款日期 弃用 数据保留
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
        public string? PayDate { get; set; }

        /// <summary>
        /// 付款注意事项 弃用 数据保留
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
        public string? Attention { get; set; }

        /// <summary>
        /// 汇率
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
        public decimal Rate { get; set; }

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

        /// <summary>
        /// 添加方式   
        /// 0 - 账单模块   1 - 成本预算模块 2 - 分摊费用 3 - 其他费用
        /// 0 - 账单模块   1 - 成本预算模块 2 - 实际报价 3 - 超支费用
        /// TODO:增加费用类型
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int AddingWay { get; set; }


        /// <summary>
        /// 审核状态 AddingWay==2该项有值
        /// 0 - 未审核 1 - 审核通过 2 - 审核不通过
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int Status { get; set; } = 0;

        /// <summary> 
        /// 审核人 AddingWay==2该项有值
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
        public int Auditor { get; set; } = 0;

        /// <summary>
        /// 审核时间 AddingWay==2该项有值
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
        public string AuditTime { get; set; }
    }
}