package cn.iocoder.yudao.module.crm.dal.dataobject.salesperformancesettlement;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;

/**
 * 销售业绩结算记录 DO
 *
 * @author 艾楷
 */
@TableName("crm_sales_performance_settlement")
@KeySequence("crm_sales_performance_settlement_seq")
// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalesPerformanceSettlementDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 销售业绩目标申请ID
     */
    private Long salesPerformanceId;
    /**
     * 年
     */
    private String year;
    /**
     * 月
     */
    private String month;
    /**
     * 实际回款额
     */
    private BigDecimal actualPayment;
    /**
     * 渠道商回款额
     */
    private BigDecimal channelPayment;
    /**
     * 实际销售额
     */
    private Integer actualSale;
    /**
     * 渠道商销售额
     */
    private Integer channelSale;
    /**
     * 评分
     */
    private BigDecimal score;
    /**
     * 销售任务%
     */
    private BigDecimal saleTask;
    /**
     * 回款任务%
     */
    private BigDecimal paymentTask;
    /**
     * 评分任务%
     */
    private BigDecimal scoreTask;
    /**
     * 总分
     */
    private BigDecimal totalScore;
    /**
     * 核发比例
     */
    private BigDecimal proportionOfIssuance;
    /**
     * 是否确认 0否 1是
     */
    private Integer confirmFlag;
    /**
     * 是否可以确认 0否 1是
     */
    private Integer canConfirmFlag;
    /**
     * 评分状态 0待评分 1已评分
     */
    private Integer scoreStatus;
    /**
     * 结算状态 0待结算 1已结算（待评分） 2已结算
     */
    private Integer settlementStatus;
    /**
     * 昵称
     */
    @TableField(exist = false)
    private String nickname;

    /**
     * 回款目标
      */
    @TableField(exist = false)
    private BigDecimal paymentTarget;
    /**
     * 销售目标
     */
    @TableField(exist = false)
    private Integer saleTarget;
}
