xiaoyi
昨天 4bec63c802692a402039f0d99eae068d26d63c55
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
package cn.iocoder.yudao.module.mdm.controller.admin.item.vo;
 
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.math.BigDecimal;
 
@Schema(description = "管理后台 - MDM 物料新增/修改 Request VO")
@Data
public class MdmItemSaveReqVO {
 
    @Schema(description = "物料编号", example = "1")
    private Long id;
 
    @Schema(description = "物料编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ITEM001")
    private String code;
 
    @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "螺丝")
    private String name;
 
    @Schema(description = "物料条码", example = "12345678")
    private String barCode;
 
    @Schema(description = "规格型号", example = "M8*20")
    private String specification;
 
    @Schema(description = "颜色", example = "红")
    private String color;
 
    @Schema(description = "物料分类编号(关联 MES 物料分类 mes_md_item_type)", example = "1")
    private Long categoryId;
 
    @Schema(description = "计量单位编号", example = "1")
    private Long unitMeasureId;
 
    @Schema(description = "辅单位1编号", example = "2")
    private Long unitMeasureId2;
 
    @Schema(description = "辅单位1换算比率", example = "12")
    private BigDecimal unitMeasureRate1;
 
    @Schema(description = "辅单位2编号", example = "3")
    private Long unitMeasureId3;
 
    @Schema(description = "辅单位2换算比率", example = "100")
    private BigDecimal unitMeasureRate2;
 
    @Schema(description = "默认仓库编号", example = "1")
    private Long warehouseId;
 
    @Schema(description = "默认仓库编码", example = "WH001")
    private String warehouseCode;
 
    @Schema(description = "物料类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer itemType;
 
    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    private Integer status;
 
    @Schema(description = "采购价格", example = "10.00")
    private BigDecimal purchasePrice;
 
    @Schema(description = "销售价格", example = "15.00")
    private BigDecimal salesPrice;
 
    @Schema(description = "成本价格", example = "8.00")
    private BigDecimal costPrice;
 
    @Schema(description = "安全库存", example = "100")
    private BigDecimal safetyStock;
 
    @Schema(description = "最低库存", example = "50")
    private BigDecimal minStock;
 
    @Schema(description = "最高库存", example = "500")
    private BigDecimal maxStock;
 
    @Schema(description = "采购提前期(天)")
    @jakarta.validation.constraints.Min(value = 0, message = "采购提前期不能为负数")
    private Integer leadTime;
 
    @Schema(description = "外协提前期(天)")
    @jakarta.validation.constraints.Min(value = 0, message = "外协提前期不能为负数")
    private Integer outsourceLeadTime;
 
    @Schema(description = "保质期天数", example = "365")
    private Integer expiryDay;
 
    @Schema(description = "是否批次管理", example = "false")
    private Boolean isBatchManaged;
 
    @Schema(description = "是否高值物料", example = "false")
    private Boolean isHighValue;
 
    @Schema(description = "重量", example = "0.5")
    private BigDecimal weight;
 
    @Schema(description = "备注", example = "备注信息")
    private String remark;
 
    @Schema(description = "是否同步到 MES", example = "false")
    private Boolean syncMes;
 
    // ========== 批次属性配置(同步时一起保存) ==========
 
    @Schema(description = "生产日期必填", example = "true")
    private Boolean produceDateFlag;
 
    @Schema(description = "有效期必填", example = "true")
    private Boolean expireDateFlag;
 
    @Schema(description = "入库日期必填", example = "false")
    private Boolean receiptDateFlag;
 
    @Schema(description = "供应商必填", example = "true")
    private Boolean vendorFlag;
 
    @Schema(description = "采购订单号必填", example = "false")
    private Boolean purchaseOrderCodeFlag;
 
    @Schema(description = "生产批号必填", example = "true")
    private Boolean lotNumberFlag;
 
    @Schema(description = "质量状态必填", example = "false")
    private Boolean qualityStatusFlag;
 
    private Long mdmItemId;
 
}