package cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
@Schema(description = "管理后台 - MES 生产报工新增/修改 Request VO")
|
@Data
|
public class MesProFeedbackSaveReqVO {
|
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
private Long id;
|
|
@Schema(description = "报工单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "FB202503001")
|
@NotNull(message = "报工单编号不能为空")
|
private String code;
|
|
@Schema(description = "报工类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "报工类型不能为空")
|
private Integer type;
|
|
@Schema(description = "工作站编号", example = "1")
|
private Long workstationId;
|
|
@Schema(description = "主计价设备编号,本次报工实际使用的设备;工资单价按工序+工艺路线+设备匹配", example = "8")
|
private Long machineryId;
|
|
@Schema(description = "工艺路线编号", example = "1")
|
private Long routeId;
|
|
@Schema(description = "工序编号", example = "1")
|
private Long processId;
|
|
@Schema(description = "生产工单编号", example = "1")
|
private Long workOrderId;
|
|
@Schema(description = "生产任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "生产任务不能为空")
|
private Long taskId;
|
|
@Schema(description = "产品物料编号", example = "100")
|
private Long itemId;
|
|
@Schema(description = "过期日期")
|
private LocalDateTime expireDate;
|
|
@Schema(description = "生产批号", example = "LOT20260321")
|
private String lotNumber;
|
|
@Schema(description = "排产数量", example = "5000.00")
|
private BigDecimal scheduledQuantity;
|
|
@Schema(description = "本次报工数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "500.00")
|
@NotNull(message = "报工数量不能为空")
|
private BigDecimal feedbackQuantity;
|
|
@Schema(description = "合格品数量", example = "490.00")
|
private BigDecimal qualifiedQuantity;
|
|
@Schema(description = "不良品数量", example = "10.00")
|
private BigDecimal unqualifiedQuantity;
|
|
@Schema(description = "待检测数量", example = "0")
|
private BigDecimal uncheckQuantity;
|
|
@Schema(description = "工废数量", example = "6.00")
|
private BigDecimal laborScrapQuantity;
|
|
@Schema(description = "料废数量", example = "4.00")
|
private BigDecimal materialScrapQuantity;
|
|
@Schema(description = "其他废品数量", example = "0")
|
private BigDecimal otherScrapQuantity;
|
|
@Schema(description = "报工人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "报工人不能为空")
|
private Long feedbackUserId;
|
|
@Schema(description = "计费类型:1-计时 2-计件(由工序自动带出,前端无需提交)", example = "2")
|
private Integer billingType;
|
|
@Schema(description = "工资定额(由工序自动带出,前端无需提交)", example = "12.50")
|
private BigDecimal wageRate;
|
|
@Schema(description = "本次报工工时(小时),计时计薪的工序必填", example = "8.00")
|
private BigDecimal workHours;
|
|
@Schema(description = "本次报工工资(后端按工序计费类型自动计算,前端无需提交)", example = "100.00")
|
private BigDecimal wageAmount;
|
|
@Schema(description = "本次生产长度(米),仅用于计算标准工时;报工单位为米时默认等于报工数量", example = "1000.00")
|
private BigDecimal productionLength;
|
|
@Schema(description = "辅助工时录入项")
|
private List<AuxValue> auxList;
|
|
@Schema(description = "报工时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "报工时间不能为空")
|
private LocalDateTime feedbackTime;
|
|
@Schema(description = "审核人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "审核人不能为空")
|
private Long approveUserId;
|
|
@Schema(description = "工艺参数值")
|
private List<ParamValue> paramValues;
|
|
@Data
|
public static class AuxValue {
|
|
@Schema(description = "辅助工时项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
@NotNull(message = "辅助工时项目不能为空")
|
private Long auxItemId;
|
|
@Schema(description = "次数/个数/盘数/米数", example = "2.00")
|
private BigDecimal quantity;
|
|
@Schema(description = "换色/换料起始材料(按材料对配置时填写)", example = "PVC")
|
private String materialFrom;
|
|
@Schema(description = "换色/换料目标材料(按材料对配置时填写)", example = "LSZH")
|
private String materialTo;
|
|
@Schema(description = "备注")
|
private String remark;
|
|
}
|
|
@Data
|
public static class ParamValue {
|
@Schema(description = "任务参数记录明细编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "参数明细不能为空")
|
private Long detailId;
|
|
@Schema(description = "参数值")
|
private String value;
|
}
|
|
@Schema(description = "备注", example = "备注")
|
private String remark;
|
|
@Schema(description = "BPM 流程实例编号")
|
private String processInstanceId;
|
|
@Schema(description = "BPM 流程定义 Key")
|
private String processDefinitionKey;
|
|
}
|