package com.dayou.vo;

import com.dayou.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
public class AssetsLedgerVO {

    private Long Id;

    /**
     * 资产业务id
     */
    private Long assetsId;

    /**
     * 项目编号
     */
    @Excel(name = "项目编号")
    private String orderId;

    /**
     * 意见书号
     */
    @Excel(name = "意见书号")
    private String statementNo;

    /**
     * 报告号
     */
    @Excel(name = "报告号")
    private String reportNo;

    /**
     * 报告类型
     */
    @Excel(name = "报告类型")
    private String productionType;

    /**
     * 评估基准日
     */
    @Excel(name = "评估基准日")
    private LocalDate valuationBasisDate;

    /**
     * 报告出具日期
     */
    @Excel(name = "报告出具日期")
    private LocalDate createReportDate;

    /**
     * 打印份数
     */
    @Excel(name = "打印份数")
    private Integer reportPrintCount;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String projectName;

    /**
     * 当前实例节点名称
     */
    @Excel(name = "当前实例节点名称")
    private String currentNodeName;

    /**
     * 是否证券项目(0:Y 1:N)
     */
    @Excel(name = "是否证券项目", readConverterExp = "true=是,false=否")
    private Boolean security;

    /**
     * 是否资产重组项目(0:Y 1:N)
     */
    @Excel(name = "是否资产重组项目", readConverterExp = "true=是,false=否")
    private Boolean significantAssetsReorganization;

    /**
     * 是否国资项目(0:Y 1:N)
     */
    @Excel(name = "是否国资项目", readConverterExp = "true=是,false=否")
    private Boolean stateAssets;

    /**
     * 是否涉及境外资产(0:Y 1:N)
     */
    @Excel(name = "是否涉及境外资产", readConverterExp = "true=是,false=否")
    private Boolean foreignAssetsInvolved;

    /**
     * 是否分配产值
     */
    @Excel(name = "是否分配产值", readConverterExp = "true=是,false=否")
    private Boolean dispenseBenefit;

    /**
     * 客户经理名
     */
    @Excel(name = "客户经理")
    private String clientManagerName;

    /**
     * 项目负责人名
     */
    @Excel(name = "项目负责人")
    private String principalName;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 业务来源(客户子级名称)
     */
    @Excel(name = "业务来源")
    private String customerSubName;

    /**
     * 委托方
     */
    @Excel(name = "委托方")
    private String bailor;

    /**
     * 委托方电话
     */
    @Excel(name = "委托方电话")
    private String bailorContactTel;

    /**
     * 评估对象评估目的
     */
    @Excel(name = "评估对象评估目的")
    private String purposeName;

    /**
     * 评估对象价值类型
     */
    @Excel(name = "评估对象价值类型")
    private String valueTypeName;

    /**
     * 评估对象
     */
    @Excel(name = "评估对象")
    private String targetTypeName;

    /**
     * 评估方法id
     */
    @Excel(name = "评估方法id")
    private String evaluationMethods;

    /**
     * 自定义其他评估方法
     */
    @Excel(name = "自定义其他评估方法")
    private String definedEvaluationMethod;

    /**
     * 最终选择的评估方法id
     */
    @Excel(name = "最终选择的评估方法id")
    private String choiceEvaluationMethods;

    /**
     * 最终选择的自定义其他评估方法
     */
    @Excel(name = "最终选择的自定义其他评估方法")
    private String choiceDefinedEvaluationMethod;

    /**
     * 评估结论对应的评估值(万)
     */
    @Excel(name = "评估结论对应的评估值(万)")
    private String estimatedValue;

    /**
     * 订单应收款(元)
     */
    @Excel(name = "订单应收款(元)")
    private Double shouldAmount;

    /**
     * 订单实收款(元)
     */
    @Excel(name = "订单实收款(元)")
    private Double realAmount;

    /**
     * 签字人（产品类型为报告时，签字人必填）
     */
    @Excel(name = "签字人")
    private String signatory;

    /**
     * 出库时间
     */
    @Excel(name = "出库时间")
    private LocalDateTime repertoryOutTime;

    /**
     * 意见书审核人(二审)
     */
    @Excel(name = "意见书审核人")
    private String statementCheckerName;

    /**
     * 意见书复审人(三审)
     */
    @Excel(name = "意见书复审人")
    private String statementReCheckerName;

    /**
     * 报告审核人(二审)
     */
    @Excel(name = "报告审核人")
    private String reportCheckerName;

    /**
     * 报告复审人(三审)
     */
    @Excel(name = "报告复审人")
    private String reportReCheckerName;

    /**
     * 报告四审人(四审)
     */
    @Excel(name = "报告四审人")
    private String reportFourthCheckerName;

}
