package com.ssm.manage.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ssm.manage.entity.Salesman;
import com.ssm.manage.page.BasePage;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * (RechargeCardTransition)实体类
 *
 * @author makejava
 * @since 2022-05-30 11:58:43
 */

@Getter
@Setter
@Table(name = "recharge_card_transition")
@JsonIgnoreProperties(ignoreUnknown = true)
public class RechargeCardTransitionRequest extends BasePage implements Serializable {
    private static final long serialVersionUID = -64591403079049555L;
    /**
     * id
     */
    @Id
    @Column(name = "id")
    private Long id;
    /**
     * 单据号
     */
    @Column(name = "doc_num")
    private String docNum;
    /**
     * 录入时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "doc_date")
    private Date docDate;
    /**
     * 门店id
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店编码
     */
    @Column(name = "store_num")
    private String storeNum;
    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;
    /**
     * 会员id
     */
    @Column(name = "member_id")
    private Long memberId;
    /**
     * 会员编码
     */
    @Column(name = "member_num")
    private String memberNum;
    /**
     * 会员名称
     */
    @Column(name = "member_name")
    private String memberName;
    /**
     * 会员身份证号
     */
    @Column(name = "member_identity_card")
    private String memberIdentityCard;
    /**
     * 手机
     */
    @Column(name = "mobile_phone")
    private String mobilePhone;
    /**
     * 转入充值卡Id
     */
    @Column(name = "in_account_id")
    private Long inAccountId;
    /**
     * 转入充值卡类型Id
     */
    @Column(name = "in_recharge_type_id")
    private Long inRechargeTypeId;
    /**
     * 转入充值卡类型编码
     */
    @Column(name = "in_recharge_type_num")
    private String inRechargeTypeNum;
    /**
     * 转入充值卡类型名称
     */
    @Column(name = "in_recharge_type_name")
    private String inRechargeTypeName;
    /**
     * 转入金额
     */
    @Column(name = "in_money")
    private BigDecimal inMoney;
    /**
     * 转入赠送金额
     */
    @Column(name = "in_gift_money")
    private BigDecimal inGiftMoney;
    /**
     * 转出充值卡Id
     */
    @Column(name = "out_account_id")
    private Long outAccountId;
    /**
     * 转出充值卡类型Id
     */
    @Column(name = "out_recharge_type_id")
    private Long outRechargeTypeId;
    /**
     * 转出充值卡类型编码
     */
    @Column(name = "out_recharge_type_num")
    private String outRechargeTypeNum;
    /**
     * 转出充值卡类型名称
     */
    @Column(name = "out_recharge_type_name")
    private String outRechargeTypeName;
    /**
     * 销售员1水牌号
     */
    @Column(name = "sale_one_number")
    private String saleOneNumber;
    /**
     * 销售员2水牌号
     */
    @Column(name = "sale_two_number")
    private String saleTwoNumber;
    /**
     * 销售员3水牌号
     */
    @Column(name = "sale_three_number")
    private String saleThreeNumber;
    /**
     * 销售员4水牌号
     */
    @Column(name = "sale_four_number")
    private String saleFourNumber;
    /**
     * 销售员1编码
     */
    @Column(name = "sale_one_staff_id")
    private Long saleOneStaffId;
    /**
     * 销售员2编码
     */
    @Column(name = "sale_two_staff_id")
    private Long saleTwoStaffId;
    /**
     * 销售员3编码
     */
    @Column(name = "sale_three_staff_id")
    private Long saleThreeStaffId;
    /**
     * 销售员4编码
     */
    @Column(name = "sale_four_staff_id")
    private Long saleFourStaffId;
    /**
     * 销售员1名称
     */
    @Column(name = "sale_one_staff_name")
    private String saleOneStaffName;
    /**
     * 销售员2名称
     */
    @Column(name = "sale_two_staff_name")
    private String saleTwoStaffName;
    /**
     * 销售员3名称
     */
    @Column(name = "sale_three_staff_name")
    private String saleThreeStaffName;
    /**
     * 销售员4名称
     */
    @Column(name = "sale_four_staff_name")
    private String saleFourStaffName;
    /**
     * 销售员1身份证号
     */
    @Column(name = "sale_one_identity")
    private String saleOneIdentity;
    /**
     * 销售员2身份证号
     */
    @Column(name = "sale_two_identity")
    private String saleTwoIdentity;
    /**
     * 销售员3身份证号
     */
    @Column(name = "sale_three_identity")
    private String saleThreeIdentity;
    /**
     * 销售员4身份证号
     */
    @Column(name = "sale_four_identity")
    private String saleFourIdentity;
    /**
     * 销售员1占比
     */
    @Column(name = "sale_one_ratio")
    private BigDecimal saleOneRatio;
    /**
     * 销售员2占比
     */
    @Column(name = "sale_two_ratio")
    private BigDecimal saleTwoRatio;
    /**
     * 销售员3占比
     */
    @Column(name = "sale_three_ratio")
    private BigDecimal saleThreeRatio;
    /**
     * 销售员4占比
     */
    @Column(name = "sale_four_ratio")
    private BigDecimal saleFourRatio;


    //新增字段

    /**
     * 销售员5水牌号
     */
    @Column(name = "sale_five_number")
    private String saleFiveNumber;


    /**
     * 销售员5编码
     */
    @Column(name = "sale_five_staff_id")
    private Long saleFiveStaffId;

    /**
     * 销售员5名称
     */
    @Column(name = "sale_five_staff_name")
    private String saleFiveStaffName;

    /**
     * 销售员5身份证号
     */
    @Column(name = "sale_five_identity")
    private String saleFiveIdentity;

    /**
     * 销售员5占比
     */
    @Column(name = "sale_five_ratio")
    private BigDecimal saleFiveRatio;



    /**
     * 销售员6水牌号
     */
    @Column(name = "sale_six_number")
    private String saleSixNumber;


    /**
     * 销售员6编码
     */
    @Column(name = "sale_six_staff_id")
    private Long saleSixStaffId;

    /**
     * 销售员6名称
     */
    @Column(name = "sale_six_staff_name")
    private String saleSixStaffName;

    /**
     * 销售员6身份证号
     */
    @Column(name = "sale_six_identity")
    private String saleSixIdentity;

    /**
     * 销售员6占比
     */
    @Column(name = "sale_six_ratio")
    private BigDecimal saleSixRatio;



    /**
     * 销售员7水牌号
     */
    @Column(name = "sale_seven_number")
    private String saleSevenNumber;


    /**
     * 销售员7编码
     */
    @Column(name = "sale_seven_staff_id")
    private Long saleSevenStaffId;

    /**
     * 销售员7名称
     */
    @Column(name = "sale_seven_staff_name")
    private String saleSevenStaffName;

    /**
     * 销售员7身份证号
     */
    @Column(name = "sale_seven_identity")
    private String saleSevenIdentity;

    /**
     * 销售员7占比
     */
    @Column(name = "sale_seven_ratio")
    private BigDecimal saleSevenRatio;



    /**
     * 销售员8水牌号
     */
    @Column(name = "sale_eight_number")
    private String saleEightNumber;


    /**
     * 销售员8编码
     */
    @Column(name = "sale_eight_staff_id")
    private Long saleEightStaffId;

    /**
     * 销售员8名称
     */
    @Column(name = "sale_eight_staff_name")
    private String saleEightStaffName;

    /**
     * 销售员8身份证号
     */
    @Column(name = "sale_eight_identity")
    private String saleEightIdentity;

    /**
     * 销售员8占比
     */
    @Column(name = "sale_eight_ratio")
    private BigDecimal saleEightRatio;



    /**
     * 状态 0:添加/1:送审/2:回收/3:审核/4:反审核/5:作废
     */
    @Column(name = "state")
    private Integer state;
    /**
     * 修改人ID
     */
    @Column(name = "update_id")
    private Long updateId;
    /**
     * 修改人名称
     */
    @Column(name = "update_name")
    private String updateName;
    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "update_date")
    private Date updateDate;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "insert_date")
    private Date insertDate;
    /**
     * 创建人
     */
    @Column(name = "insert_id")
    private Long insertId;
    /**
     * 创建人名称
     */
    @Column(name = "insert_name")
    private String insertName;


    /**
     * 转卡前的可用金额
     */
    @Column(name = "card_consume_money")
    private Long cardConsumeMoney;


    /**
     * 转卡前的可赠送金额
     */
    @Column(name = "gift_consume_money")
    private Long giftConsumeMoney;






    private List<Salesman> salesmens;


    private List<StaffRequest> staffLists;


    private List<Long> storeList;

    /**
     * 查询方式，0=指定查询，1=自动查询
     */
    private Integer selectType;
}

