package com.hzs.report.member.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @description: 月度职级名单查询VO
 * @author: zhang jing
 * @date: 2024/6/20 16:43
 * @param:
 * @return:
 **/
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class MonthlyJobLevelVo {

    /**
     * 用户编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 用户姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;
    /**
     * 统计日期
     */
    @Excel(name = "统计日期", dateFormat = "yyyy-MM")
    @JsonFormat(pattern = "yyyy-MM")
    private Date statDate;

    /**
     * 上月累计首购业绩(左区)
     */
    @Excel(name = "上月累计首购业绩(左区)")
    @BigDecimalFormat()
    private BigDecimal lastMonthASumPv;
    /**
     * 上月累计首购业绩(右区)
     */
    @Excel(name = "上月累计首购业绩(右区)")
    @BigDecimalFormat()
    private BigDecimal lastMonthBSumPv;

    /**
     * 本月新增首购业绩(左区)
     */
    @Excel(name = "本月新增首购业绩(左区)")
    @BigDecimalFormat()
    private BigDecimal newASumPv=new BigDecimal(0);
    /**
     * 本月新增首购业绩(右区)
     */
    @Excel(name = "本月新增首购业绩(右区)")
    @BigDecimalFormat()
    private BigDecimal newBSumPv=new BigDecimal(0);

    /**
     * 累计首购业绩(左区)
     */
    @Excel(name = "累计首购业绩(左区)")
    @BigDecimalFormat()
    private BigDecimal asumPv;
    /**
     * 累计首购业绩(右区)
     */
    @Excel(name = "累计首购业绩(右区)")
    @BigDecimalFormat()
    private BigDecimal bsumPv;
    /**
     * 本月推荐人数
     */
    @Excel(name = "本月推荐人数")
    private Integer dyNewTotal=0;
    /**
     * 累计推荐人数
     */
    @Excel(name = "累计推荐人数")
    private Integer dyTotal;
    /**
     * 上月累计推荐人数
     */
    private Integer syTotal;



    private Long pkMember;

    /**
     * 当前月结束期数
     */
    private Integer periodEnd;

    /**
     * 上个月结束期数
     */
    private Integer lastMonthPeriodEnd;

    /**
     * 当月业绩表
     */
    private String achieveTableName;
    /**
     * 本月会员网体表
     */
    private String settleTableName;

    /**
     * 上个月业绩表
     */
    private String lastMonthAchieveTableName;

    /**
     * 上个会员网体表
     */
    private String lastMonthSettleTableName;


    /**
     * 当前月开始日期
     */
    private String startDate;
    /**
     * 当前月结束日期
     */
    private String endDate;

    /**
     * 上个月结束日期
     */
    private String lastMonthEndDate;
    /**
     * 汇率
     */
    private BigDecimal rate;

    private Integer pkCountry;






}
