package com.sundot.airport.common.dto;

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

import java.util.Date;

/**
 * 绩效指标查询参数DTO
 *
 * @author sundot
 * @date 2026-02-25
 */
@Data
@ApiModel("绩效指标查询参数DTO")
public class PerformanceMetricsParamDto {

    @ApiModelProperty("统计维度：1-人员、2-班级、3-科级、4-大队级")
    private Integer dimension;

    @ApiModelProperty("排序方式：seizureEfficiency-查获效率、inspectionPassRate-巡检合格率、trainingScore-培训得分、totalScore-总分")
    private String sortField;

    @ApiModelProperty("排序结果：1-升序、2-降序")
    private Integer sortOrder;

    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    @ApiModelProperty("大队ID(维度为 1/2/3/4 时使用)")
    private Long brigadeId;

    @ApiModelProperty("科室ID(维度为 1/2/3 时使用)")
    private Long deptId;

    @ApiModelProperty("班组ID(维度为 1/2 时使用)")
    private Long teamId;

    @ApiModelProperty("姓名 (维度为 1 时使用)")
    private String userName;
}