package com.ssm.manage.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ssm.manage.entity.CashList;
import com.ssm.manage.entity.UploadFiles;
import com.ssm.manage.extendEntity.AchiCommEntity;
import com.ssm.manage.query.StaffRequest;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

@Setter
@Getter
@ToString
public class RefundCashResponse {
    /**
     * 主键ID
     */
    @Id
    private Long id;

    /**
     * 是否选中
     */
    private Integer type;

    /**
     * 退款单据号
     */
    @Column(name = "refund_num")
    private String refundNum;

    /**
     * 退款单据时间
     */
    @Column(name = "refund_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundDate;

    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;

    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;

    /**
     * 会员编码
     */
    @Column(name = "member_id")
    private Long memberId;

    /**
     * 会员名称
     */
    @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 = "cash_id")
    private Long cashId;

    /**
     * 收银单据时间
     */
    @Column(name = "cash_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cashDate;

    /**
     * 项目编码
     */
    @Column(name = "project_id")
    private Long projectId;

    /**
     * 项目名称
     */
    @Column(name = "project_name")
    private String projectName;

    /**
     * 最少销售次数
     */
    @Column(name = "minumum_times")
    private Integer minumumTimes;

    /**
     * 散客价
     */
    private BigDecimal price;

    /**
     * 散客最低价
     */
    @Column(name = "minumum_price")
    private BigDecimal minumumPrice;

    /**
     * 会员价
     */
    @Column(name = "price_member")
    private BigDecimal priceMember;

    /**
     * 会员最低价
     */
    @Column(name = "minumum_price_member")
    private BigDecimal minumumPriceMember;

    /**
     * 项目成交单价
     */
    @Column(name = "transaction_price")
    private BigDecimal transactionPrice;

    /**
     * 次数
     */
    @Column(name = "number_times")
    private Integer numberTimes;

    /**
     * 收银退款金额
     */
    @Column(name = "cash_refund_money")
    private BigDecimal cashRefundMoney;

    /**
     * 收银赔偿金额
     */
    @Column(name = "cash_compensation")
    private BigDecimal cashCompensation;

    /**
     * 大工现付业绩标准
     */
    @Column(name = "achievement_large")
    private BigDecimal achievementLarge;

    /**
     * 中工现付业绩标准
     */
    @Column(name = "achievement_zhonggong")
    private BigDecimal achievementZhonggong;

    /**
     * 技师现付业绩标准
     */
    @Column(name = "achievement_technician")
    private BigDecimal achievementTechnician;

    /**
     * 助理现付业绩标准
     */
    @Column(name = "achievement_small")
    private BigDecimal achievementSmall;

    /**
     * 大工现付提成标准
     */
    @Column(name = "commission_large")
    private BigDecimal commissionLarge;

    /**
     * 中工现付提成标准
     */
    @Column(name = "commission_zhonggong")
    private BigDecimal commissionZhonggong;

    /**
     * 技师现付提成标准
     */
    @Column(name = "commission_technician")
    private BigDecimal commissionTechnician;

    /**
     * 助理现付提成标准
     */
    @Column(name = "commission_small")
    private BigDecimal commissionSmall;

    /**
     * 卡付大工业绩标准
     */
    @Column(name = "card_achievement_large")
    private BigDecimal cardAchievementLarge;

    /**
     * 卡付中工业绩标准
     */
    @Column(name = "card_achievement_zhonggong")
    private BigDecimal cardAchievementZhonggong;

    /**
     * 卡付技师业绩标准
     */
    @Column(name = "card_achievement_technician")
    private BigDecimal cardAchievementTechnician;

    /**
     * 卡付助理业绩标准
     */
    @Column(name = "card_achievement_small")
    private BigDecimal cardAchievementSmall;

    /**
     * 卡付大工提成标准
     */
    @Column(name = "card_commission_large")
    private BigDecimal cardCommissionLarge;

    /**
     * 卡付中工提成标准
     */
    @Column(name = "card_commission_zhonggong")
    private BigDecimal cardCommissionZhonggong;

    /**
     * 卡付技师提成标准
     */
    @Column(name = "card_commission_technician")
    private BigDecimal cardCommissionTechnician;

    /**
     * 卡付助理提成标准
     */
    @Column(name = "card_commission_small")
    private BigDecimal cardCommissionSmall;

    /**
     * 门店高管编码
     */
    @Column(name = "manage_staff_id")
    private Long manageStaffId;

    /**
     * 门店高管名称
     */
    @Column(name = "manage_staff_name")
    private String manageStaffName;

    /**
     * 门店高管身份证号
     */
    @Column(name = "manage_identity")
    private String manageIdentity;

    /**
     * 门店高管水牌号
     */
    @Column(name = "manage_number")
    private String manageNumber;


    private List<UploadFiles> fileLists;
    //业务员列表
    private List<StaffRequest> largeList;
    private List<StaffRequest> zhonggongList;
    private List<StaffRequest> technicianList;
    private List<StaffRequest> smallList;
    private List<CashList> cashListList;
    private List<AchiCommEntity> entities;
}
