package com.njcn.rdms.module.project.controller.admin.performance.vo;

import com.njcn.rdms.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@Schema(description = "管理后台 - 绩效表分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
public class PerformanceSheetPageReqVO extends PageParam {

    @Schema(description = "团队视角下的员工 ID 列表")
    private List<Long> employeeIds;

    @Schema(description = "绩效月份起始，格式 yyyy-MM；与 periodMonthEnd 构成区间筛选", example = "2026-03")
    private String periodMonthStart;

    @Schema(description = "绩效月份结束，格式 yyyy-MM；与 periodMonthStart 构成区间筛选", example = "2026-05")
    private String periodMonthEnd;

    @Schema(description = "员工姓名", example = "张三")
    private String employeeName;

    @Schema(description = "员工部门 ID", example = "100")
    private Long employeeDeptId;

    @Schema(description = "员工部门名称", example = "产品方向")
    private String employeeDeptName;

    @Schema(description = "直属上级 ID", example = "9001")
    private Long managerId;

    @Schema(description = "直属上级姓名", example = "王经理")
    private String managerName;

    @Schema(description = "状态编码", example = "sent")
    private String statusCode;

    @Schema(description = "下签状态编码", example = "pending_employee_confirm")
    private String signOffStatus;
}
