package com.ssm.manage.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
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 javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

/**
 * 团购卡单据(BaseGrouponCard)实体类
 *
 * @author makejava
 * @since 2022-04-29 11:11:39
 */
@Table(name = "base_groupon_card")
public class BaseGrouponCard implements Serializable {


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Transient
    @Getter@Setter
    private Date startTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Getter@Setter@Transient
    private Date endTime;
    private static final long serialVersionUID = 795321846971513450L;
    /**
     * id
     */
    @Id
    private Long id;
    /**
     * 状态（0=新增，1=送审，2=回收，3=审核，4=反审核）
     */
    @Column(name = "state")
    private Integer state;
    /**
     * 单据号码
     */
    @Column(name = "doc_num")
    private String docNum;
    /**
     * 单据日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "doc_date")
    private Date docDate;
    /**
     * 充值类型ID
     */
    @Column(name = "recharge_type_id")
    private Long rechargeTypeId;
    /**
     * 充值类型编码
     */
    @Column(name = "recharge_type_num")
    private String rechargeTypeNum;
    /**
     * 充值类型名称
     */
    @Column(name = "recharge_type_name")
    private String rechargeTypeName;
    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;
    /**
     * 到期日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "expire_date")
    private Date expireDate;
    /**
     * 享受优惠
     */
    @Column(name = "discount")
    private BigDecimal discount;
    /**
     * 类别充值金额
     */
    @Column(name = "recharge_money")
    private BigDecimal rechargeMoney;
    /**
     * 数量（份数）
     */
    @Column(name = "quantity")
    private Integer quantity;
    /**
     * 建立人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "input_by")
    private String inputBy;
    /**
     * 建立日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "input_date")
    private Date inputDate;
    /**
     * 最近修改人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "update_by")
    private String updateBy;
    /**
     * 最近修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "update_date")
    private Date updateDate;
    /**
     * 审核人
     */
    @Column(name = "audit_by")
    private String auditBy;
    /**
     * 审核时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "audit_date")
    private Date auditDate;
    /**
     * 销售员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;
    /**
     * 销售员4占比
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 销售员4占比
     */
    @Column(name = "type_ratio")
    private BigDecimal typeRatio;

    public BigDecimal getTypeRatio() {
        return typeRatio;
    }

    public void setTypeRatio(BigDecimal typeRatio) {
        this.typeRatio = typeRatio;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getDocNum() {
        return docNum;
    }

    public void setDocNum(String docNum) {
        this.docNum = docNum;
    }

    public Date getDocDate() {
        return docDate;
    }

    public void setDocDate(Date docDate) {
        this.docDate = docDate;
    }

    public Long getRechargeTypeId() {
        return rechargeTypeId;
    }

    public void setRechargeTypeId(Long rechargeTypeId) {
        this.rechargeTypeId = rechargeTypeId;
    }

    public String getRechargeTypeNum() {
        return rechargeTypeNum;
    }

    public void setRechargeTypeNum(String rechargeTypeNum) {
        this.rechargeTypeNum = rechargeTypeNum;
    }

    public String getRechargeTypeName() {
        return rechargeTypeName;
    }

    public void setRechargeTypeName(String rechargeTypeName) {
        this.rechargeTypeName = rechargeTypeName;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    public BigDecimal getRechargeMoney() {
        return rechargeMoney;
    }

    public void setRechargeMoney(BigDecimal rechargeMoney) {
        this.rechargeMoney = rechargeMoney;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public String getInputBy() {
        return inputBy;
    }

    public void setInputBy(String inputBy) {
        this.inputBy = inputBy;
    }

    public Date getInputDate() {
        return inputDate;
    }

    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getAuditBy() {
        return auditBy;
    }

    public void setAuditBy(String auditBy) {
        this.auditBy = auditBy;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public String getSaleOneNumber() {
        return saleOneNumber;
    }

    public void setSaleOneNumber(String saleOneNumber) {
        this.saleOneNumber = saleOneNumber;
    }

    public String getSaleTwoNumber() {
        return saleTwoNumber;
    }

    public void setSaleTwoNumber(String saleTwoNumber) {
        this.saleTwoNumber = saleTwoNumber;
    }

    public String getSaleThreeNumber() {
        return saleThreeNumber;
    }

    public void setSaleThreeNumber(String saleThreeNumber) {
        this.saleThreeNumber = saleThreeNumber;
    }

    public String getSaleFourNumber() {
        return saleFourNumber;
    }

    public void setSaleFourNumber(String saleFourNumber) {
        this.saleFourNumber = saleFourNumber;
    }

    public Long getSaleOneStaffId() {
        return saleOneStaffId;
    }

    public void setSaleOneStaffId(Long saleOneStaffId) {
        this.saleOneStaffId = saleOneStaffId;
    }

    public Long getSaleTwoStaffId() {
        return saleTwoStaffId;
    }

    public void setSaleTwoStaffId(Long saleTwoStaffId) {
        this.saleTwoStaffId = saleTwoStaffId;
    }

    public Long getSaleThreeStaffId() {
        return saleThreeStaffId;
    }

    public void setSaleThreeStaffId(Long saleThreeStaffId) {
        this.saleThreeStaffId = saleThreeStaffId;
    }

    public Long getSaleFourStaffId() {
        return saleFourStaffId;
    }

    public void setSaleFourStaffId(Long saleFourStaffId) {
        this.saleFourStaffId = saleFourStaffId;
    }

    public String getSaleOneStaffName() {
        return saleOneStaffName;
    }

    public void setSaleOneStaffName(String saleOneStaffName) {
        this.saleOneStaffName = saleOneStaffName;
    }

    public String getSaleTwoStaffName() {
        return saleTwoStaffName;
    }

    public void setSaleTwoStaffName(String saleTwoStaffName) {
        this.saleTwoStaffName = saleTwoStaffName;
    }

    public String getSaleThreeStaffName() {
        return saleThreeStaffName;
    }

    public void setSaleThreeStaffName(String saleThreeStaffName) {
        this.saleThreeStaffName = saleThreeStaffName;
    }

    public String getSaleFourStaffName() {
        return saleFourStaffName;
    }

    public void setSaleFourStaffName(String saleFourStaffName) {
        this.saleFourStaffName = saleFourStaffName;
    }

    public String getSaleOneIdentity() {
        return saleOneIdentity;
    }

    public void setSaleOneIdentity(String saleOneIdentity) {
        this.saleOneIdentity = saleOneIdentity;
    }

    public String getSaleTwoIdentity() {
        return saleTwoIdentity;
    }

    public void setSaleTwoIdentity(String saleTwoIdentity) {
        this.saleTwoIdentity = saleTwoIdentity;
    }

    public String getSaleThreeIdentity() {
        return saleThreeIdentity;
    }

    public void setSaleThreeIdentity(String saleThreeIdentity) {
        this.saleThreeIdentity = saleThreeIdentity;
    }

    public String getSaleFourIdentity() {
        return saleFourIdentity;
    }

    public void setSaleFourIdentity(String saleFourIdentity) {
        this.saleFourIdentity = saleFourIdentity;
    }

    public BigDecimal getSaleOneRatio() {
        return saleOneRatio;
    }

    public void setSaleOneRatio(BigDecimal saleOneRatio) {
        this.saleOneRatio = saleOneRatio;
    }

    public BigDecimal getSaleTwoRatio() {
        return saleTwoRatio;
    }

    public void setSaleTwoRatio(BigDecimal saleTwoRatio) {
        this.saleTwoRatio = saleTwoRatio;
    }

    public BigDecimal getSaleThreeRatio() {
        return saleThreeRatio;
    }

    public void setSaleThreeRatio(BigDecimal saleThreeRatio) {
        this.saleThreeRatio = saleThreeRatio;
    }

    public BigDecimal getSaleFourRatio() {
        return saleFourRatio;
    }

    public void setSaleFourRatio(BigDecimal saleFourRatio) {
        this.saleFourRatio = saleFourRatio;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}

