package com.ruoyi.project.business.domain.vo.agent;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

/**
 * @author fangk
 * @date 2024/5/16
 * @desc AgentTargetReq 代理商考核响应参数
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
//public class AgentTargetRes extends TbAgentTarget {
public class AgentTargetRes extends BaseEntity {


    /**
     * 代理商编号
     */
    @Excel(name = "代理商编号", width = 30, i18nCode = "agent.agentNo")
    private String agentNo;

    /**
     * 代理商名称
     */
    @Excel(name = "代理商名称", width = 30, i18nCode = "agent.agentName")
    private String agentName;

    /**
     * 所属区域
     */
    private Long areaId;
    
    /**
     * 区域名称
     */
    @Excel(name = "区域", i18nCode = "agent.areaId")
    private String areaName;


    /**
     * 代理商类型
     */
    @Excel(name = "代理商类型", dictType = "agent_type", i18nCode = "agent.agentType")
    private String agentType;


    /**
     * 代理商等级
     */
    @Excel(name = "代理商等级", dictType = "agent_level", i18nCode = "agent.agentLevel")
    private String agentLevel;

    /**
     * 考核ID
     */
    private Long targetId;

    /**
     * 代理商ID
     */
    private Long agentId;

    /**
     * 考核年度
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考核年度", dateFormat = "yyyy", i18nCode = "agent.targetYear")
    private Date targetYear;

    /**
     * 目标销售电梯台数
     */
    @Excel(name = "目标台数", i18nCode = "agent.targetElevatorCount")
    private Long targetElevatorCount;

    /**
     * 实际销售电梯台数
     */
    @Excel(name = "实际台数", i18nCode = "agent.actualElevatorCount")
    private Long actualElevatorCount;

    @Excel(name = "完成率", i18nCode = "target.completion.rate")
    private String completionRate1;
    
    /**
     * 币种
     */
    @Excel(name = "币种", i18nCode = "project.currency", dictType = "currency_type")
    private String currency;
    

    /**
     * 目标销售额
     */

    private BigDecimal targetMoney;

    @Excel(name = "目标金额", i18nCode = "agent.targetMoney", align = HorizontalAlignment.RIGHT)
    private String targetMoneyStr;

    /**
     * 实际销售额
     */

    private BigDecimal actualMoney;

    @Excel(name = "实际金额", i18nCode = "agent.actualMoney", align = HorizontalAlignment.RIGHT)
    private String actualMoneyStr;

    @Excel(name = "完成率", i18nCode = "target.completion.rate")
    private String completionRate2;

    /**
     * 目标标杆项目数
     */
    @Excel(name = "标杆项目数", i18nCode = "agent.targetProjectCount")
    private BigDecimal targetProjectCount;

    /**
     * 实际标杆项目数
     */
    @Excel(name = "实际标杆项目数", i18nCode = "agent.actualProjectCount")
    private BigDecimal actualProjectCount;

    @Excel(name = "完成率", i18nCode = "target.completion.rate")
    private String completionRate3;

    private String delFlag;
}