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;

import java.math.BigDecimal;

@Schema(description = "管理后台 - 保存绩效 Excel Request VO")
@Data
public class PerformanceSheetExcelUpdateReqVO {

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

    @Schema(description = "当前文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-06月-绩效表_张三.xlsx")
    @NotBlank(message = "文件名不能为空")
    @Size(max = 255, message = "文件名长度不能超过255个字符")
    private String fileName;

    @Schema(description = "当前文件版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @NotNull(message = "文件版本不能为空")
    private Integer fileVersion;

    @Schema(description = "实际得分总计", requiredMode = Schema.RequiredMode.REQUIRED, example = "13.00")
    @NotNull(message = "实际得分总计不能为空")
    private BigDecimal actualScoreTotal;

    @Schema(description = "基础得分总计", requiredMode = Schema.RequiredMode.REQUIRED, example = "6.00")
    @NotNull(message = "基础得分总计不能为空")
    private BigDecimal baseScoreTotal;

    @Schema(description = "附加得分总计", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.00")
    @NotNull(message = "附加得分总计不能为空")
    private BigDecimal extraScoreTotal;
}
