package com.ssm.manage.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ssm.manage.page.BasePage;
import io.swagger.models.auth.In;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

@Setter
@Getter
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
public class SalesmanRequest  extends BasePage {

    /**
     * id
     */
    private Long id;

    /**
     * 业务人员类型（0=高管，1=管理员，2=普通员工）
     */
    private Integer staffType;

    /**
     * 员工编码
     */
    private String staffNum;

    /**
     * 员工名称
     */
    private String staffName;

    /**
     * 水牌号
     */
    private String brandNumber;

    /**
     * 身份证号
     */
    private String identityCard;

    /**
     * 业绩
     */
    private BigDecimal achievementAmount;

    /**
     * 提成
     */
    private BigDecimal commissionAmount;

    /**
     * 单据日期
     */
    @Column(name = "order_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderDate;

    /**
     * 主单据ID
     */
    private String orderId;

    /**
     * 占比
     */
    private BigDecimal ratio;

    /**
     * 销售单据类型（0=收银单，1=充值单）
     */
    private Integer orderType;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 项目编码
     */
    private Long projectNum;

    /**
     * 单据金额
     */
    private BigDecimal money;


    /**
     * 单据编码
     */
    @Column(name = "order_num")
    private String orderNum;


    /**
     * 人员所属门店ID
     */
    @Column(name = "store_id")
    private Long storeId;
    private List<Long> storeIds;
    private List<Long> storeIdsOrder;

    //开始时间
    private String startDate;

    //结束时间
    private String endDate;



    /**
     * 0=正常，1=作废
     */
    @Column(name = "state")
    private Integer state;


    /**
     * 门店编码
     */
    @Column(name = "Store_num")
    private String StoreNum;

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

    /**
     * 单据门店ID
     */
    @Column(name = "store_id_order")
    private Long storeIdOrder;

    /**
     * 单据门店ID
     */
    @Column(name = "staff_id")
    private Long staffId;

    /**
     * 操作人
     */
    @Column(name = "operator_by")
    private Long operatorBy;
}
