package cn.iocoder.lyzsys.module.tjt.controller.admin.employeeyearleaderoutput.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 年度所长考核产值新增/修改 Request VO")
@Data
public class EmployeeYearLeaderOutputSaveReqVO {

    @Schema(description = "记录 ID", example = "1")
    private Long id;

    @Schema(description = "员工 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "员工 ID 不能为空")
    private Long employeeId;

    @Schema(description = "员工姓名，后端根据 employeeId 回填", example = "张三")
    @Size(max = 64, message = "员工姓名长度不能超过 64 个字符")
    private String employeeName;

    @Schema(description = "产值年度", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026")
    @NotNull(message = "产值年度不能为空")
    private Integer outputYear;

    @Schema(description = "所长考核产值", requiredMode = Schema.RequiredMode.REQUIRED, example = "100000")
    @NotNull(message = "所长考核产值不能为空")
    private BigDecimal leaderOutputAmount;

    @Schema(description = "备注")
    @Size(max = 255, message = "备注长度不能超过 255 个字符")
    private String remark;

    @Schema(description = "排序号", example = "1")
    private Integer sortNo;

    @Schema(description = "是否启用", example = "true")
    private Boolean enabledFlag;

}
