package cn.iocoder.yudao.module.mes.controller.admin.pro.alert.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 工单物料超耗报警 Response VO") @Data public class MesProOverConsumeAlertRespVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; @Schema(description = "生产工单编号", example = "1024") private Long workOrderId; @Schema(description = "生产工单编码", example = "WO-001") private String workOrderCode; @Schema(description = "产品编号", example = "100") private Long productId; @Schema(description = "产品名称", example = "麻辣自热火锅") private String productName; @Schema(description = "物料编号", example = "200") private Long itemId; @Schema(description = "物料编码", example = "RM-001") private String itemCode; @Schema(description = "物料名称", example = "发热包") private String itemName; @Schema(description = "标准用量", example = "100.000000") private BigDecimal standardQuantity; @Schema(description = "实际用量", example = "110.000000") private BigDecimal actualQuantity; @Schema(description = "超耗数量", example = "10.000000") private BigDecimal overQuantity; @Schema(description = "超耗比例(%)", example = "10.0000") private BigDecimal overRatio; @Schema(description = "报警阈值(%)", example = "5.0000") private BigDecimal thresholdRatio; @Schema(description = "物料单价", example = "1.500000") private BigDecimal unitPrice; @Schema(description = "超耗金额", example = "15.000000") private BigDecimal overAmount; @Schema(description = "接收人用户编号(逗号分隔)", example = "1,102") private String notifyUserIds; @Schema(description = "站内信消息编号", example = "3001") private Long messageId; @Schema(description = "发送状态:SENT/FAILED", example = "SENT") private String status; @Schema(description = "失败原因") private String errorMessage; @Schema(description = "创建时间") private LocalDateTime createTime; }