package cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.process; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Schema(description = "管理后台 - MES 生产工单工序新增/修改 Request VO") @Data public class MesProWorkOrderProcessSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; @Schema(description = "生产工单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") @NotNull(message = "生产工单编号不能为空") private Long workOrderId; @Schema(description = "工序编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "工序不能为空") private Long processId; @Schema(description = "序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "序号不能为空") private Integer sort; @Schema(description = "与下一道工序关系", example = "0") private Integer linkType; @Schema(description = "准备时间(分钟)", example = "10") private Integer prepareTime; @Schema(description = "等待时间(分钟)", example = "5") private Integer waitTime; @Schema(description = "甘特图显示颜色", example = "#00AEF3") private String colorCode; @Schema(description = "是否关键工序", example = "false") private Boolean keyFlag; @Schema(description = "是否质检工序", example = "false") private Boolean checkFlag; @Schema(description = "是否倒冲", example = "true") private Boolean backflushFlag; @Schema(description = "产出产品物料编号", example = "100") private Long outputItemId; @Schema(description = "备注") private String remark; @Schema(description = "工序投料BOM列表") private List bomItems; @Data public static class BomItem { @Schema(description = "BOM物料编号", example = "1001") private Long itemId; @Schema(description = "BOM物料编码") private String itemCode; @Schema(description = "BOM物料名称") private String itemName; @Schema(description = "预计使用量") private BigDecimal quantity; @Schema(description = "备注") private String remark; } }