package com.ssm.manage.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ssm.manage.extendEntity.AchiCommEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Getter
@Setter
@AllArgsConstructor
public class RechargeTurnCoursesResponse {

    @Transient
    private String errorMessage;
    public RechargeTurnCoursesResponse() {
    }

    /**
     * id
     */
    @Id
    private Long id;
    /**
     * 单据号
     */
    @Column(name = "doc_num")
    private String docNum;
    /**
     * 单据时间
     */
    @Column(name = "doc_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date docDate;
    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店名称
     */
    @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 = "recharge_type_id")
    private Long rechargeTypeId;

    /**
     * 充值类型编码
     */
    @Column(name = "recharge_type_num")
    private String rechargeTypeNum;

    /**
     * 充值类型名称
     */
    @Column(name = "recharge_type_name")
    private String rechargeTypeName;
    /**
     * 充值卡转入添加金额
     */
    @Column(name = "recharge_in_money")
    private BigDecimal rechargeInMoney;
    /**
     * 疗程转出扣减金额
     */
    @Column(name = "course_out_money")
    private BigDecimal courseOutMoney;
    /**
     * 状态 0:添加/1:送审/2:回收/3:审核/4:反审核
     */
    @Column(name = "state")
    private Integer state;
    /**
     * 充值卡转入前金额
     */
    @Column(name = "recharge_before_money")
    private BigDecimal rechargeBeforeMoney;
    /**
     * 充值卡转入后金额
     */
    @Column(name = "recharge_after_money")
    private BigDecimal rechargeAfterMoney;
    /**
     * 录单人ID
     */
    @Column(name = "input_id")
    private Long inputId;
    /**
     * 录单人名称
     */
    @Column(name = "input_by")
    private String inputBy;
    /**
     * 充值账户ID
     */
    @Column(name = "recharge_account_id")
    private Long rechargeAccountId;
    /**
     * 录单时间
     */
    @Column(name = "input_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inputDate;
    /**
     * 修改人ID
     */
    @Column(name = "update_id")
    private Long updateId;
    /**
     * 修改人名称
     */
    @Column(name = "update_by")
    private String updateBy;
    /**
     * 修改时间
     */
    @Column(name = "update_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateDate;
    /**
     * 第一充值人水牌号
     */
    @Column(name = "brand_number_one")
    private String brandNumberOne;
    /**
     * 第一充值人编码（来源于员工档案）
     */
    @Column(name = "sale_one_staff_id")
    private Long saleOneStaffId;
    /**
     * 第一充值人名称（来源于员工档案）
     */
    @Column(name = "sale_one_staff_name")
    private String saleOneStaffName;
    /**
     * 第一充值人占比
     */
    @Column(name = "sale_one_ratio")
    private BigDecimal saleOneRatio;
    /**
     * 第一充值会业绩
     */
    @Column(name = "sale_one_achievement_amount")
    private BigDecimal saleOneAchievementAmount;
    /**
     * 第一充值人提成
     */
    @Column(name = "sale_one_commission_amount")
    private BigDecimal saleOneCommissionAmount;
    /**
     * 第一充值人身份证号
     */
    @Column(name = "sale_one_identity_card")
    private String saleOneIdentityCard;
    /**
     * 第二充值人编码（来源于员工档案）
     */
    @Column(name = "sale_two_staff_id")
    private Long saleTwoStaffId;
    /**
     * 第二充值人名称（来源于员工档案）
     */
    @Column(name = "sale_two_staff_name")
    private String saleTwoStaffName;
    /**
     * 第二充值人身份证号
     */
    @Column(name = "sale_two_identity_card")
    private String saleTwoIdentityCard;
    /**
     * 第二充值人占比
     */
    @Column(name = "sale_two_ratio")
    private BigDecimal saleTwoRatio;
    /**
     * 第二充值人业绩
     */
    @Column(name = "sale_two_achievement_amount")
    private BigDecimal saleTwoAchievementAmount;
    /**
     * 第二充值人提成
     */
    @Column(name = "sale_two_commission_amount")
    private BigDecimal saleTwoCommissionAmount;
    /**
     * 第三充值人编码（来源于员工档案）
     */
    @Column(name = "sale_three_staff_id")
    private Long saleThreeStaffId;
    /**
     * 第三充值人名称（来源于员工档案）
     */
    @Column(name = "sale_three_staff_name")
    private String saleThreeStaffName;
    /**
     * 第三充值人身份证号
     */
    @Column(name = "sale_three_identity_card")
    private String saleThreeIdentityCard;
    /**
     * 第三充值人占比
     */
    @Column(name = "sale_three_ratio")
    private BigDecimal saleThreeRatio;
    /**
     * 第三充值人业绩
     */
    @Column(name = "sale_three_achievement_amount")
    private BigDecimal saleThreeAchievementAmount;
    /**
     * 第三充值人提成
     */
    @Column(name = "sale_three_commission_amount")
    private BigDecimal saleThreeCommissionAmount;
    /**
     * 第二充值人水牌号
     */
    @Column(name = "brand_number_two")
    private String brandNumberTwo;
    /**
     * 第三充值人水牌号
     */
    @Column(name = "brand_number_three")
    private String brandNumberThree;
    /**
     * 第四充值人编码
     */
    @Column(name = "sale_four_staff_id")
    private Long saleFourStaffId;
    /**
     * 第四充值人名称
     */
    @Column(name = "sale_four_staff_name")
    private String saleFourStaffName;
    /**
     * 第四充值人水牌号
     */
    @Column(name = "brand_number_four")
    private String brandNumberFour;
    /**
     * 第四充值人身份证号
     */
    @Column(name = "sale_four_identity_card")
    private String saleFourIdentityCard;
    /**
     * 第四充值人占比
     */
    @Column(name = "sale_four_ratio")
    private BigDecimal saleFourRatio;
    /**
     * 第四充值人业绩
     */
    @Column(name = "sale_four_achievement_amount")
    private BigDecimal saleFourAchievementAmount;
    /**
     * 第四充值人提成
     */
    @Column(name = "sale_four_commission_amount")
    private BigDecimal saleFourCommissionAmount;
    /**
     * 提成比率
     */
    @Column(name = "type_ratio")
    private BigDecimal typeRatio;

    /**
     * 提成比率
     */
    @Column(name = "is_addition")
    private Integer isAddition;

    /**
     * 折扣
     */
    @Column(name = "discount")
    private Integer discount;


    private List<AchiCommEntity> entities;
}
