package com.ssm.manage.response;

import com.ssm.manage.extendEntity.AchiCommEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

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

@Getter
@Setter
@ToString
public class CoursePayListResponse {

    /**
     * id
     */
    @Id
    private Long id;
    /**
     * 单据号
     */
    @Column(name = "doc_num")
    private String docNum;

    /**
     * 单据时间
     */
    @Column(name = "doc_date")
    private Date docDate;

    /**
     * 项目ID
     */
    @Column(name = "course_project_id")
    private String courseProjectId;
    /**
     * 项目编码
     */
    @Column(name = "course_project_num")
    private String courseProjectNum;

    /**
     * 项目名称
     */
    @Column(name = "course_project_name")
    private String courseProjectName;
    /**
     * 疗程卡转入前剩余金额
     */
    @Column(name = "course_before_money")
    private BigDecimal courseBeforeMoney;
    /**
     * 疗程卡转入后剩余金额
     */
    @Column(name = "course_after_money")
    private BigDecimal courseAfterMoney;
    /**
     * 疗程账户ID
     */
    @Column(name = "course_account_id")
    private Long courseAccountId;
    /**
     * 疗程卡转入前剩余可用金额
     */
    @Column(name = "course_before_usable_money")
    private BigDecimal courseBeforeUsableMoney;
    /**
     * 疗程卡转入后剩余可用金额
     */
    @Column(name = "course_after_usable_money")
    private BigDecimal courseAfterUsableMoney;
    /**
     * 疗程卡转入前剩余次数
     */
    @Column(name = "course_before_count")
    private Integer courseBeforeCount;
    /**
     * 疗程卡转入后剩余可用次数
     */
    @Column(name = "course_after_count")
    private Integer courseAfterCount;
    /**
     * 疗程卡转入前剩余可用次数
     */
    @Column(name = "course_before_usable_count")
    private Integer courseBeforeUsableCount;
    /**
     * 疗程卡转入后剩余可用次数
     */
    @Column(name = "course_after_usable_count")
    private Integer courseAfterUsableCount;
    /**
     * 疗程转出金额
     */
    @Column(name = "roll_off_money")
    private BigDecimal rollOffMoney;
    /**
     * 疗程转出次数
     */
    @Column(name = "roll_off_count")
    private Integer rollOffCount;
    /**
     * 疗程转充值单据ID
     */
    @Column(name = "recharge_turn_course_id")
    private Long rechargeTurnCourseId;
    /**
     * 疗程转充值单据ID
     */
    @Column(name = "price")
    private BigDecimal price;

    /**
     * 疗程转充值单据ID
     */
    @Column(name = "store_id")
    private Long storeId;

    /**
     * 疗程转充值单据ID
     */
    @Column(name = "store_name")
    private String storeName;

    /**
     * 现付销售业绩标准
     */
    @Column(name = "sales_achievement")
    private BigDecimal salesAchievement;


    /**
     * 现付销售提成标准
     */
    @Column(name = "sales_commission")
    private BigDecimal salesCommission;

    /**
     * 卡付销售业绩标准
     */
    @Column(name = "card_sales_achievement")
    private BigDecimal cardSalesAchievement;
    /**
     * 卡付销售提成标准
     */
    @Column(name = "card_sales_commission")
    private BigDecimal cardSalesCommission;

    /**
     * 取消前单价
     */
    @Column(name = "before_price")
    private BigDecimal beforePrice;
    /**
     * 取消前剩余金额
     */
    @Column(name = "before_rest_money")
    private BigDecimal beforeRestMoney;
    /**
     * 取消前可用金额
     */
    @Column(name = "before_consume_money")
    private BigDecimal beforeConsumeMoney;

    /**
     * 取消前剩余赠送金额
     */
    @Column(name = "before_gift_consume_money")
    private BigDecimal beforeGiftConsumeMoney;

    /**
     * 取消前可用赠送金额
     */
    @Column(name = "before_gift_rest_money")
    private BigDecimal beforeGiftRestMoney;

    /**
     * 取消前剩余次数
     */
    @Column(name = "before_rest_count")
    private Integer  beforeRestCount;
    /**
     * 取消前可用次数
     */
    @Column(name = "before_consume_count")
    private Integer beforeConsumeCount;


    /**
     * 取消后单价
     */
    @Column(name = "back_price")
    private BigDecimal backPrice;
    /**
     * 取消后剩余金额
     */
    @Column(name = "back_rest_money")
    private BigDecimal backRestMoney;
    /**
     * 取消后可用金额
     */
    @Column(name = "back_consume_money")
    private BigDecimal backConsumeMoney;


    /**
     * 取消前剩余赠送金额
     */
    @Column(name = "back_gift_consume_money")
    private BigDecimal backGiftConsumeMoney;

    /**
     * 取消前可用赠送金额
     */
    @Column(name = "back_gift_rest_money")
    private BigDecimal backGiftRestMoney;

    /**
     * 取消后剩余次数
     */
    @Column(name = "back_rest_count")
    private Integer  backRestCount;
    /**
     * 取消后可用次数
     */
    @Column(name = "back_consume_count")
    private Integer backConsumeCount;

    private List<AchiCommEntity> entities;
}
