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

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

@Schema(description = "管理后台 - 绩效模板上传 Request VO")
@Data
public class PerformanceTemplateUploadReqVO {

    @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026绩效模板")
    @NotBlank(message = "模板名称不能为空")
    @Size(max = 100, message = "模板名称长度不能超过100个字符")
    private String templateName;

    @Schema(description = "文件 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2042074259501088770")
    @NotNull(message = "文件 ID 不能为空")
    private Long fileId;

    @Schema(description = "原文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "绩效模板.xlsx")
    @NotBlank(message = "文件名不能为空")
    @Size(max = 255, message = "文件名长度不能超过255个字符")
    private String fileName;

    @Schema(description = "是否上传后立即启用", example = "true")
    private Boolean activeFlag;

    @Schema(description = "备注", example = "2026年度模板")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
}
