package com.hzs.member.achieve.controller.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.Data;

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


/**
 * @description: 安置数据查询
 * @author: zhang jing
 * @date: 2024/7/11 15:54
 * @param:
 * @return:
 **/
@Data
public class PlaceFrameQueryVO {

    private static final long serialVersionUID = 1L;


    /**
     * 会员主键
     */
    private Long pkMember;
    /**
     * 安置人主键
     */
    private Long  pkPlaceParent;
    /**
     * 推荐人主键
     */
    private Long  pkParent;
    /**
     * 会员安置（推荐）伞下第一层会员集合
     */
    List<PlaceFrameQueryVO> memberList;
    /**
     * 查询本期会员伞下第一层会员集合
     */
    List<PlaceFrameQueryVO> befMemberList;
    /**
     * 会员编号
     */
    private String memberCode;

    /**
     * 会员名称
     */
    private String memberName;

    /**
     * 注册等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkRegisterGrade;
    @Excel(name = "注册等级")
    private String pkRegisterGradeVal;
    /**
     * 注册业绩
     */
    @Excel(name = "",scale = 2)
    @BigDecimalFormat()
    private BigDecimal consumeAchieve;
    /**
     * 真实奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer pkAwards;
    private String pkAwardsVal;

    /**
     * 累计业绩
     */
    @BigDecimalFormat()
    private BigDecimal sumPv;
    /**
     * 本期业绩
     */
    @BigDecimalFormat()
    private BigDecimal newPv;
    /**
     * 实时业绩
     */
    @BigDecimalFormat()
    private BigDecimal orderAchieve=new BigDecimal(0);

    /**
     * 新增人数
     */
    @Excel(name = "新增人数")
    private Integer newCount;
    /**
     * 累计人数
     */
    @Excel(name = "累计人数")
    private Integer sumCount;
    /**
     * 支付日期
     */
    @Excel(name = "支付时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 创建时间开始时间
     */
    private String startDate;

    /**
     * 创建时间结束时间
     */
    private String endDate;
    /**
     * 当前时间
     */
    private String currentDate;



    /**
     * 部门 EPlaceDept
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PLACE_DEPT)
    private Integer placeDept;
    /**
     * 部门 EPlaceDept
     */
    private String placeDeptVal;
    private String todayDate;

    /**
     * 当前期业绩表
     */
    private String curAchieveTableName;
    /**
     * 当前期网体表
     */
    private String curSettleTableName;

    /**
     * 开始月表名 业绩
     */
    private String staAchieveTableName;
    /**
     * 之前一期表名 业绩
     */
    private String beforeAchieveTableName;
    /**
     * 结束月表名 业绩
     */
    private String endAchieveTableName;
    /**
     * 结束月表名 网体表
     */
    private String endSettleTableName;
    /**
     * 之前一期表名 网体表
     */
    private String beforeSettleTableName;

    /**
     * 开始月表名 网体表
     */
    private String staSettleTableName;

    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 开始期数
     */
    private Integer staPeriod;
    /**
     * 前一期
     */
    private Integer beforePeriod;
    /**
     * 结束期数
     */
    private Integer endPeriod;

    /**
     * 层级
     */
    private Integer lev;
    /**
     * 层级
     */
    private Integer zero;
    private Integer endAchieveTable;
    private Integer endSettleTabl;
    private Integer staSettleTabl;





}
