package cn.iocoder.yudao.module.mes.controller.admin.pro.wage.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.DecimalMax; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - MES 质量工资规则新增/修改 Request VO") @Data public class MesProWageQualityRuleSaveReqVO { @Schema(description = "编号") private Long id; @Schema(description = "工序编号", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "工序不能为空") private Long processId; @Schema(description = "工艺路线编号,空=不限路线") private Long routeId; @Schema(description = "规则类型:1-合格率系数 2-不合格扣款", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "规则类型不能为空") private Integer ruleType; @Schema(description = "合格率下限(含),百分比", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "合格率下限不能为空") @DecimalMin(value = "0", message = "合格率下限不能小于 0") @DecimalMax(value = "100", message = "合格率下限不能大于 100") private BigDecimal minRate; @Schema(description = "合格率上限(不含),百分比;100=无上限", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "合格率上限不能为空") @DecimalMin(value = "0", message = "合格率上限不能小于 0") @DecimalMax(value = "100", message = "合格率上限不能大于 100") private BigDecimal maxRate; @Schema(description = "系数(规则类型=1 时必填)") private BigDecimal coefficient; @Schema(description = "每件扣款(规则类型=2 时必填)") private BigDecimal deductionPerUnit; @Schema(description = "优先级,越大越优先") private Integer priority; @Schema(description = "状态:0-启用 1-禁用") private Integer status; @Schema(description = "备注") private String remark; }