package com.sundot.airport.item.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 排名查询参数DTO
 */
@Data
public class RankingQueryParamDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 部门ID
     */
    private Long deptId;


    /**
     * 数据来源：individual(个人), team(班组), department(科室)
     */
    @ApiModelProperty("数据来源：individual(个人), team(班组)")
    private String dataSource;

    /**
     * 班组ID（查询班组数据时使用）
     */
    @ApiModelProperty("班组ID")
    private Long teamId;

    /**
     * 科室ID（查询科室数据时使用）
     */
    @ApiModelProperty("科室ID")
    private Long departmentId;

    /**
     * 大队ID（查询大队数据时使用）
     */
    @ApiModelProperty("大队ID")
    private Long brigadeId;

    /**
     * 站 ID
     */
    @ApiModelProperty("站 ID")
    private Long stationId;

    /**
     * 时间范围类型：last_week(近一周), last_month(近一月), last_three_months(近三月),
     * last_half_year(近半年), last_year(近一年)
     */
    @ApiModelProperty("时间范围类型：last_week(近一周), last_month(近一月), last_three_months(近三月), last_half_year(近半年), last_year(近一年)")
    private String timeRangeType;

}