package com.dayou.vo;

import com.dayou.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * 类说明：
 *
 * @author: wucl
 * @since: 2023/3/20
 * created with IntelliJ IDEA.
 */
@Data
public class BrokerageSequenceDetailVO {

    /**
     * 结算详情id
     */
    private Long id;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String itemName;
    /**
     * 阶段名称
     */
    @Excel(name = "阶段名称")
    private String stageName;

    /**
     * 结算年份
     */
    @Excel(name = "结算年份")
    private Integer year;

    /**
     * 结算月份
     */
    @Excel(name = "结算月份")
    private Integer month;

    /**
     * 回款名称
     */
    @Excel(name = "回款名称")
    private String paymentName;

    /**
     * 回款金额
     */
    @Excel(name = "回款金额")
    private BigDecimal paymentAmount;

    /**
     * 人员名称
     */
    @Excel(name = "人员名称")
    private String userName;

    /**
     * 结算金额
     */
    @Excel(name = "结算金额")
    private BigDecimal brokerageAmount;

    /**
     * 结算类型
     */
    @Excel(name = "结算类型",readConverterExp=("AHEAD=预提,SETTLE=结算,PAYMENT_SETTLE=回款结算,COMPENSATION=补偿结算"))
    private String brokerageCate;

    /**
     * 预计提成金额
     */
    private BigDecimal predictAmount;

    /**
     * 提成规则
     */
    @Excel(name = "提成规则" ,readConverterExp=("LAND_OTHER_RULE=参与人员规则,LAND_MARKETER_RULE=市场人员规则,LAND_SUPERVISOR_RULE=营销主管规则,LAND_MANAGER_RULE=营销经理规则"))
    private String brokerageRule;

    /**
     * 提成方式
     */
    @Excel(name = "提成方式",readConverterExp=("PERSONAL=个人提成,TEAM_SHARE=团队提成"))
    private String brokerageMode;

    /**
     * 结算时间
     */
    @Excel(name = "结算时间" ,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date created;


    /**
     * 修改时间
     *
     * @ignore
     */
    private Date modified;

    /**
     * 标志位
     *
     * @ignore
     */
    private Boolean deleted;


    /**
     * 未结算金额
     */
    private BigDecimal unsettledAmount;

    /**
     * 所属员工查询条件
     */
    private Set<Long> userIds;

}
