gaoluyang
9 天以前 cbadfd8e691ab335965202a984db16e55ac8e42c
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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 = "客户 A")
    @ExcelProperty("客户名称")
    private String clientName;
 
    // ========== 时间信息 ==========
 
    @Schema(description = "计划开始日期")
    @ExcelProperty("计划开始日期")
    private LocalDateTime planStartDate;
 
    @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 = "1")
    private Long auditUserId;
 
    @Schema(description = "审核人名称", example = "张三")
    private String auditUserName;
 
    @Schema(description = "审核时间")
    private LocalDateTime auditTime;
 
    @Schema(description = "审核意见(驳回原因)", example = "数量与销售订单不符")
    private String auditRemark;
 
    @Schema(description = "生成的采购申请单编号", example = "800")
    private Long purchaseRequestId;
 
    @Schema(description = "执行进度预警提示,为空表示无偏差", example = "计划已过 70% 工期,实际完成 30%")
    private String progressWarning;
 
    @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;
 
}