package com.ssm.manage.excelEntity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Setter
@Getter
@ToString
//@ColumnWidth(50)
public class ExcelBaseProject implements Serializable {
    /**
     * 修改人
     */

    @ExcelProperty(value = "修改人",index = 48)
    private String modifyBy;

    /**
     * 项目编码
     */
    @Column(name = "project_num")
    @ExcelProperty(index = 2)
    private String projectNum;

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

    /**
     * 状态 1：正常；0 停用
     */
    @ExcelProperty(index = 1)
    private String state;

    /**
     * 标签
     */
    @ExcelProperty(index = 12)
    private String label;

    /**
     * 黄金间隔期
     */
    @Column(name = "gold_interval")
    @ExcelProperty(index = 14)
    private Integer goldInterval;

    /**
     * 长发操作时长
     */
    @Column(name = "long_operation_time")
    @ExcelProperty(index = 15)
    private Integer longOperationTime;

    /**
     * 中发操作时长
     */
    @Column(name = "moderate_operation_time")
    @ExcelProperty(index = 16)
    private Integer moderateOperationTime;

    /**
     * 短发操作时长
     */
    @Column(name = "short_operation_time")
    @ExcelProperty(index = 17)
    private Integer shortOperationTime;





    /**
     * 单次最小销售次数
     */
    @Column(name = "minumum_times")
    @ExcelProperty(index = 10)
    private Integer minumumTimes;

    /**
     * 直接消费（1:是，0：否）
     */
    @Column(name = "direct_consumption")
    @ExcelProperty(index = 11)
    private String directConsumption;

    /**
     * 散客价
     */
    @ExcelProperty(index = 5)
    private BigDecimal price;

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

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

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

    /**
     * 现付销售业绩，大于1表示固定业绩，小于等于1表示比率业绩
     */
    @Column(name = "sales_achievement")
    @ExcelProperty(index = 18)
    private BigDecimal salesAchievement;

    /**
     * 现付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    @Column(name = "sales_commission")
    @ExcelProperty(index = 20)
    private BigDecimal salesCommission;

    /**
     * 卡付销售业绩，大于1表示固定业绩，小于等于1表示比率业绩
     */
    @Column(name = "card_sales_achievement")
    @ExcelProperty(index = 19)
    private BigDecimal cardSalesAchievement;

    /**
     * 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    @Column(name = "card_sales_commission")
    @ExcelProperty(index = 21)
    private BigDecimal cardSalesCommission;

    /**
     * 大工现付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "achievement_large")
    @ExcelProperty(index = 22)
    private BigDecimal achievementLarge;

    /**
     * 中工现付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "achievement_zhonggong")
    @ExcelProperty(index = 26)
    private BigDecimal achievementZhonggong;

    /**
     * 技师现付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "achievement_technician")
    @ExcelProperty(index = 30)
    private BigDecimal achievementTechnician;

    /**
     * 助理现付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "achievement_small")
    @ExcelProperty(index = 34)
    private BigDecimal achievementSmall;

    /**
     * 大工现付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "commission_large")
    @ExcelProperty(index = 24)
    private BigDecimal commissionLarge;

    /**
     * 中工现付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "commission_zhonggong")
    @ExcelProperty(index = 28)
    private BigDecimal commissionZhonggong;

    /**
     * 技师现付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "commission_technician")
    @ExcelProperty(index = 32)
    private BigDecimal commissionTechnician;

    /**
     * 助理现付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "commission_small")
    @ExcelProperty(index = 36)
    private BigDecimal commissionSmall;

    /**
     * 大工卡付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_achievement_large")
    @ExcelProperty(index = 23)
    private BigDecimal cardAchievementLarge;

    /**
     * 中工卡付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_achievement_zhonggong")
    @ExcelProperty(index = 27)
    private BigDecimal cardAchievementZhonggong;

    /**
     * 技师卡付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_achievement_technician")
    @ExcelProperty(index = 31)
    private BigDecimal cardAchievementTechnician;

    /**
     * 助理卡付业绩标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_achievement_small")
    @ExcelProperty(index = 35)
    private BigDecimal cardAchievementSmall;

    /**
     * 大工卡付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_commission_large")
    @ExcelProperty(index = 25)
    private BigDecimal cardCommissionLarge;

    /**
     * 中工卡付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_commission_zhonggong")
    @ExcelProperty(index = 29)
    private BigDecimal cardCommissionZhonggong;

    /**
     * 技师卡付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_commission_technician")
    @ExcelProperty(index = 33)
    private BigDecimal cardCommissionTechnician;

    /**
     * 助理卡付提成标准，小于1比率，大于等于1固定金额
     */
    @Column(name = "card_commission_small")
    @ExcelProperty(index = 37)
    private BigDecimal cardCommissionSmall;


    /**
     * 项目类别名称
     */
    @Column(name = "project_type_name")
    @ExcelProperty(index = 0)
    private String projectTypeName;


    /**
     * 有效期 单位:月
     */
    @Column(name = "valid_time")
    @ExcelProperty(index = 13)
    private Integer validTime;


    /**
     * 项目类型编码
     */
    @Column(name = "project_type_num")
    @ExcelProperty(index = 38)
    private String projectTypeNum;


    /**
     * 合作项目抽佣比例
     */
    @Column(name = "brokerage")
    @ExcelProperty(index = 41)
    private BigDecimal brokerage;

    /**
     * 消费是否会员不打折（0=打折，1=不打折）
     */
    @Column(name = "no_discount")
    @ExcelProperty(index = 43)
    private String noDiscount;

    /**
     * 是否合作项目
     */
    @Column(name = "is_cooperation")
    @ExcelProperty(index = 39)
    private String isCooperation;

    /**
     * 抽佣方式，0=固定，1=比例
     */
    @Column(name = "smoke_commission_way")
    @ExcelProperty(index = 40)
    private String smokeCommissionWay;
//
//    /**
//     * 门店类别/1=美容店/2=理发店
//     */
//    @Column(name = "store_type")
//    @ExcelProperty(index = 40)
//    private String storeType;


    /**
     * 最高散客价
     */
    @Column(name = "top_price")
    @ExcelProperty(index = 4)
    private BigDecimal topPrice;

    /**
     * 最高会员价
     */
    @Column(name = "top_price_member")
    @ExcelProperty(index = 7)
    private BigDecimal topPriceMember;


    /**
     * 销售截止日期
     * */
    @Column(name = "sales_deadline")
    @DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(index = 44)
    private String salesDeadline;

    /**
     * 统一日期
     * */
    @Column(name = "unified_due")
    @DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(index = 47)
    private String unifiedDue;
    /**
     * 创建日期
     */
    @Column(name = "Founder_datetime")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelIgnore
    @ExcelProperty(value = "创建时间",index = 45)
    private Date founderDatetime;
    /**
     * 最近修改时间
     */
    @Column(name = "modify_datetime")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelIgnore
    @ExcelProperty(value = "修改时间",index = 46)
    private Date modifyDatetime;
    /**
     * 消费是否会员不打折（0=打折，1=不打折）
     */
    @Column(name = "is_card_pay")
    @ExcelProperty(index = 42)
    private String isCardPay;


}