package cn.iocoder.yudao.module.crm.controller.admin.salesperformancesettlement.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 销售业绩结算记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SalesPerformanceSettlementRespVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23686")
    @ExcelProperty("id")
    private Long id;

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27486")
    @ExcelProperty("用户id")
    private Long userId;

    @Schema(description = "用户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "27486")
    @ExcelProperty("用户名称")
    private String nickname;

    @Schema(description = "销售业绩目标申请ID", example = "14373")
    @ExcelProperty("销售业绩目标申请ID")
    private Long salesPerformanceId;

    @Schema(description = "年", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("年")
    private String year;

    @Schema(description = "月", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("月")
    private String month;

    @Schema(description = "实际回款额")
    private BigDecimal actualPayment;

    @Schema(description = "渠道回款额")
    private BigDecimal channelPayment;

    @Schema(description = "实际销售额")
    private Integer actualSale;

    @Schema(description = "渠道销售额")
    private Integer channelSale;

    @Schema(description = "回款目标")
    private BigDecimal paymentTarget;

    @Schema(description = "销售目标")
    private Integer saleTarget;

    @Schema(description = "评分")
    private BigDecimal score;

    @Schema(description = "销售任务%")
    private BigDecimal saleTask;

    @Schema(description = "回款任务%")
    private BigDecimal paymentTask;

    @Schema(description = "评分任务%")
    private BigDecimal scoreTask;

    @Schema(description = "总分")
    private BigDecimal totalScore;

    @Schema(description = "核发比例")
    private BigDecimal proportionOfIssuance;

    @Schema(description = "是否确认 0否 1是")
    private Integer confirmFlag;

    @Schema(description = "是否可以确认 0否 1是")
    private Integer canConfirmFlag;

    @Schema(description = "评分状态 0待评分 1已评分")
    private Integer scoreStatus;

    @Schema(description = "结算状态 0待结算 1已结算（待评分） 2已结算")
    private Integer settlementStatus;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
