package cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.DecimalMin;
|
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
|
@Schema(description = "管理后台 - MES 生产工序新增/修改 Request VO")
|
@Data
|
public class MesProProcessSaveReqVO {
|
|
@Schema(description = "编号", example = "1")
|
private Long id;
|
|
@Schema(description = "工序编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "PROCESS001")
|
@NotBlank(message = "工序编码不能为空")
|
private String code;
|
|
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "下料工序")
|
@NotBlank(message = "工序名称不能为空")
|
private String name;
|
|
@Schema(description = "工艺要求", example = "按照图纸尺寸进行切割")
|
private String attention;
|
|
@Schema(description = "计费类型:1-计时 2-计件", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
@NotNull(message = "计费类型不能为空,请选择 1-计时 或 2-计件")
|
private Integer billingType;
|
|
@Schema(description = "工资定额:计时为元/小时,计件为元/件", requiredMode = Schema.RequiredMode.REQUIRED, example = "12.50")
|
@NotNull(message = "工资定额不能为空,请填写计时(元/小时)或计件(元/件)的工资定额")
|
@DecimalMin(value = "0", message = "工资定额不能小于 0;计时按元/小时填写,计件按元/件填写")
|
private BigDecimal wageRate;
|
|
@Schema(description = "辅助工时小时工资(元/小时),计件工序必填方能计算辅助工资", example = "25.00")
|
@DecimalMin(value = "0", message = "辅助工时小时工资不能小于 0;请按元/小时填写辅助工时单价")
|
private BigDecimal auxHourlyRate;
|
|
@Schema(description = "标准工时计算方式:0-未启用 1-转速×节距 2-线速度直取 3-满速百分比×节距", example = "1")
|
private Integer stdTimeMode;
|
|
@Schema(description = "标准工时折算系数:束丝填 1.8,其余填 1", example = "1.8")
|
@DecimalMin(value = "0", message = "折算系数不能小于 0;束丝一般填 1.8,其余工序填 1")
|
private BigDecimal stdTimeFactor;
|
|
@Schema(description = "机台满转速(r/min),计算方式=3 时必填且必须大于 0", example = "1200")
|
@DecimalMin(value = "0", message = "机台满转速不能小于 0;计算方式为“满速百分比×节距”时请填写实际满转速")
|
private BigDecimal maxRpm;
|
|
@Schema(description = "转速参数编码,计算方式=1/3 时必填", example = "RPM")
|
private String stdRpmParamCode;
|
|
@Schema(description = "节距参数编码,计算方式=1/3 时必填", example = "PITCH")
|
private String stdPitchParamCode;
|
|
@Schema(description = "线速度(米/分)参数编码,计算方式=2 时必填", example = "SPEED")
|
private String stdSpeedParamCode;
|
|
@Schema(description = "转速百分比参数编码,计算方式=3 时必填", example = "RPM_PERCENT")
|
private String stdPercentParamCode;
|
|
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
@NotNull(message = "状态不能为空")
|
private Integer status;
|
|
@Schema(description = "备注", example = "金属板材下料")
|
private String remark;
|
|
}
|