gaoluyang
昨天 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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;
 
}