package cn.iocoder.yudao.module.hrm.controller.admin.salary.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.DecimalMax; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - 薪酬结构新增/修改 Request VO") @Data public class HrmSalaryStructureSaveReqVO { @Schema(description = "结构编号", example = "1") private Long id; @Schema(description = "结构名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "标准员工薪酬") @NotBlank(message = "结构名称不能为空") @Size(max = 100, message = "结构名称不能超过 100 个字符") private String name; @Schema(description = "工作日加班工资倍率,0 表示不计加班工资", example = "1.50") @NotNull(message = "工作日加班倍率不能为空") @DecimalMin(value = "0", message = "工作日加班倍率不能小于 0") @DecimalMax(value = "10", message = "工作日加班倍率不能大于 10") private BigDecimal overtimePayRatio; @Schema(description = "休息日加班工资倍率,0 表示不计该类型加班工资", example = "2.00") @NotNull(message = "休息日加班倍率不能为空") @DecimalMin(value = "0", message = "休息日加班倍率不能小于 0") @DecimalMax(value = "10", message = "休息日加班倍率不能大于 10") private BigDecimal restDayOvertimePayRatio; @Schema(description = "法定节假日加班工资倍率,0 表示不计该类型加班工资", example = "3.00") @NotNull(message = "法定节假日加班倍率不能为空") @DecimalMin(value = "0", message = "法定节假日加班倍率不能小于 0") @DecimalMax(value = "10", message = "法定节假日加班倍率不能大于 10") private BigDecimal legalHolidayOvertimePayRatio; @Schema(description = "状态:0-启用,1-禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @NotNull(message = "状态不能为空") private Integer status; @Schema(description = "备注") @Size(max = 500, message = "备注不能超过 500 个字符") private String remark; }