package cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; 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 @ExcelIgnoreUnannotated public class MesProMpsRespVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") @ExcelProperty("编号") private Long id; @Schema(description = "MPS 编码", example = "MPS-001") @ExcelProperty("MPS 编码") private String code; @Schema(description = "状态", example = "0") @ExcelProperty(value = "状态", converter = DictConvert.class) @DictFormat(DictTypeConstants.MES_PRO_MPS_STATUS) private Integer status; // ========== 来源信息 ========== @Schema(description = "销售订单ID", example = "100") private Long saleOrderId; @Schema(description = "销售订单号", example = "SO-001") @ExcelProperty("销售订单号") private String saleOrderNo; @Schema(description = "销售订单明细ID", example = "200") private Long saleOrderItemId; // ========== 产品信息 ========== @Schema(description = "产品编号", example = "100") private Long productId; @Schema(description = "产品编码", example = "P-001") @ExcelProperty("产品编码") private String productCode; @Schema(description = "产品名称", example = "电路板 A") @ExcelProperty("产品名称") private String productName; @Schema(description = "规格型号", example = "100x200mm") @ExcelProperty("规格型号") private String productSpecification; @Schema(description = "单位名称", example = "个") @ExcelProperty("单位") private String unitMeasureName; @Schema(description = "计划生产数量", example = "100.00") @ExcelProperty("计划生产数量") private BigDecimal quantity; @Schema(description = "已生产数量", example = "50.00") @ExcelProperty("已生产数量") private BigDecimal quantityProduced; // ========== 客户信息 ========== @Schema(description = "客户编号", example = "300") private Long clientId; @Schema(description = "客户编码", example = "C-001") @ExcelProperty("客户编码") private String clientCode; @Schema(description = "客户名称", example = "客户 A") @ExcelProperty("客户名称") private String clientName; // ========== 时间信息 ========== @Schema(description = "需求日期") @ExcelProperty("需求日期") private LocalDateTime requestDate; @Schema(description = "下发日期") @ExcelProperty("下发日期") private LocalDateTime issueDate; @Schema(description = "完成日期") @ExcelProperty("完成日期") private LocalDateTime finishDate; // ========== 生产工单关联 ========== @Schema(description = "生产工单ID", example = "500") private Long workOrderId; @Schema(description = "生产工单编码", example = "WO-001") @ExcelProperty("生产工单编码") private String workOrderCode; // ========== 合并下发标识 ========== @Schema(description = "是否合并下发", example = "0") private Integer mergeFlag; @Schema(description = "合并批次号", example = "MERGE-001") private String mergeBatchNo; @Schema(description = "备注", example = "备注") @ExcelProperty("备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; }