package com.ssm.manage.excelEntity;

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

@Data
public class ExcelRepayList {
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private String payType;
        private String isCancelNew;
        private String storeNum;
        private String salmenOneNumber;
        private String salmenOneName;
        private String salmenOneRatio;

        private String salmenTwoNumber;
        private String salmenTwoName;
        private String salmenTwoRatio;

        private String salmenThreeNumber;
        private String salmenThreeName;
        private String salmenThreeRatio;

        private String salmenFourNumber;
        private String salmenFourName;
        private String salmenFourRatio;


        private String salmensOneNumber;
        private String salmensOneName;
        private String salmensOneRatio;

        private String salmensTwoNumber;
        private String salmensTwoName;
        private String salmensTwoRatio;

        private String salmensThreeNumber;
        private String salmensThreeName;
        private String salmensThreeRatio;

        private String salmensFourNumber;
        private String salmensFourName;
        private String salmensFourRatio;



//        private String isCancelNew;

        @Getter
        @Setter
        @Transient
        private BigDecimal newCashCommissionAmount;

        @Getter
        @Setter
        @Transient
        private BigDecimal newCardCommissionAmount;
        /**
         * 主键ID
         */
        @Id
        private Long id;

        /**
         * 还款单据号
         */
        @Column(name = "repay_num")
        private String repayNum;

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

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


        /**
         * 归属门店编码
         */
        @Column(name = "belonging_store_id")
        private Long belongingStoreId;

        /**
         * 归属门店名称
         */
        @Column(name = "belonging_store_name")
        private String belongingStoreName;

        /**
         * 会员编码
         */
        @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 = "doc_id")
        private Long docId;

        /**
         * 欠款单据号
         */
        @Column(name = "doc_num")
        private String docNum;

        /**
         * 欠款单类别
         */
        @Column(name = "doc_type")
        private String docType;

        /**
         * 欠款单交易ID
         */
        @Column(name = "trade_id")
        private Long tradeId;

        /**
         * 欠款单交易名称
         */
        @Column(name = "trade_name")
        private String tradeName;

        /**
         * 欠款单交易单价
         */
        @Column(name = "trade_money")
        private BigDecimal tradeMoney;

        /**
         * 欠款单交易欠款金额
         */
        @Column(name = "debt_money")
        private BigDecimal debtMoney;

        /**
         * 还款日期
         */
        @Column(name = "repay_date")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date repayDate;

        /**
         * 还款金额
         */
        @Column(name = "repay_money")
        private BigDecimal repayMoney;

        /**
         * 支付金额
         */
        @Column(name = "pay_money")
        private BigDecimal payMoney;

        /**
         * 疗程现付销售业绩标准
         */
        @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 = "type_ratio")
        private BigDecimal typeRatio;

        /**
         * 销售员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;

        /**
         * 销售员1业绩
         */
        @Column(name = "sale_one_achievement_amount")
        private BigDecimal saleOneAchievementAmount;

        /**
         * 销售员2业绩
         */
        @Column(name = "sale_two_achievement_amount")
        private BigDecimal saleTwoAchievementAmount;

        /**
         * 销售员3业绩
         */
        @Column(name = "sale_three_achievement_amount")
        private BigDecimal saleThreeAchievementAmount;

        /**
         * 销售员4业绩
         */
        @Column(name = "sale_four_achievement_amount")
        private BigDecimal saleFourAchievementAmount;

        /**
         * 销售员1提成
         */
        @Column(name = "sale_one_commission_amount")
        private BigDecimal saleOneCommissionAmount;

        /**
         * 销售员2提成
         */
        @Column(name = "sale_two_commission_amount")
        private BigDecimal saleTwoCommissionAmount;

        /**
         * 销售员3提成
         */
        @Column(name = "sale_three_commission_amount")
        private BigDecimal saleThreeCommissionAmount;

        /**
         * 销售员4提成
         */
        @Column(name = "sale_four_commission_amount")
        private BigDecimal saleFourCommissionAmount;

        /**
         * 现付销售业绩
         */
        @Column(name = "achievement_amount")
        private BigDecimal achievementAmount;

        /**
         * 现付销售提成
         */
        @Column(name = "commission_amount")
        private BigDecimal commissionAmount;

        /**
         * 卡付销售业绩
         */
        @Column(name = "card_achievement_amount")
        private BigDecimal cardAchievementAmount;

        /**
         * 卡付销售提成
         */
        @Column(name = "card_commission_amount")
        private BigDecimal cardCommissionAmount;

        /**
         * 账户ID
         */
        @Column(name = "account_id")
        private Long accountId;

        /**
         * 门店高管编码
         */
        @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;

        /**
         * 欠款单主键ID
         */
        @Column(name = "debt_id")
        private Long debtId;


        /**
         * 支付金额
         */
        @Column(name = "pay_recharge_money")
        private BigDecimal payRechargeMoney;

        /**
         * 取消前单价
         */
        @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 String saleFiveNumber;
        private String         saleSixNumber;
        private String saleSevenNumber;
        private String       saleEightNumber;
        private Long saleFiveStaffId;
        private Long         saleSixStaffId;
        private Long saleSevenStaffId;
        private Long        saleEightStaffId;
        private String    saleFiveStaffName;
        private String           saleSixStaffName;
        private String    saleSevenStaffName;
        private String            saleEightStaffName;
        private String    saleFiveIdentity;
        private String           saleSixIdentity;
        private String    saleSevenIdentity;
        private String            saleEightIdentity;
        private BigDecimal    saleFiveRatio;
        private BigDecimal         saleSixRatio;
        private BigDecimal saleSevenRatio;
        private BigDecimal        saleEightRatio;
        private BigDecimal saleFiveAchievementAmount;
        private BigDecimal         saleSixAchievementAmount;
        private BigDecimal saleSevenAchievementAmount;
        private BigDecimal         saleEightAchievementAmount;
        private BigDecimal saleFiveCommissionAmount;
        private BigDecimal        saleSixCommissionAmount;
        private BigDecimal saleSevenCommissionAmount;
        private BigDecimal        saleEightCommissionAmount;

}
