package com.sundot.airport.common.core.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 大屏查询参数
 *
 * @author ruoyi
 */
@Data
public class BaseLargeScreenQueryParamDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 指定日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date specifiedDate;

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

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

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

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

    /**
     * 级别类型 1:一级类别 2:二级类别 默认二级类别
     */
    @ApiModelProperty("级别类型 1:一级类别 2:二级类别 默认二级类别")
    private Integer levelType = 2;

    /**
     * 物品分类编码
     */
    @ApiModelProperty("物品分类编码")
    private String categoryCode;
    /**
     * 位置编码
     */
    @ApiModelProperty("位置编码")
    private String positionCode;

    /**
     * 科室id
     */
    @ApiModelProperty("科室id")
    private Long inspectDepartmentId;

    /**
     * 一级分类code
     */
    @ApiModelProperty("一级分类code")
    private String categoryCodeOne;
    /**
     * 二级分类code
     */
    @ApiModelProperty("二级分类code")
    private String categoryCodeTwo;
    /**
     * 移交公安
     */
    @ApiModelProperty("移交公安")
    private String isPolice;
    /**
     * 故意隐匿
     */
    @ApiModelProperty("故意隐匿")
    private String isConceal;

    /**
     * 班组id
     */
    @ApiModelProperty("班组id")
    private Long inspectTeamId;

    /**
     * 大队id
     */
    @ApiModelProperty("大队id")
    private Long inspectBrigadeId;

    /**
     * 数据来源（仅班组长角色生效）
     * individual：返回班组长个人数据
     * team或不传：返回班组数据（默认）
     */
    @ApiModelProperty("数据来源：individual=个人数据，team=班组数据")
    private String dataSource;

    @ApiModelProperty("站id")
    private Long inspectStationId;

    @ApiModelProperty("人员ID列表")
    private List<Long> userIdList;

}
