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
package cn.iocoder.yudao.module.mdm.api.item.dto;
 
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.math.BigDecimal;
 
/**
 * MDM 物料同步 Request DTO
 *
 * @author 芋道源码
 */
@Schema(description = "MDM 物料同步 Request DTO")
@Data
public class MdmItemSyncReqDTO {
 
    @Schema(description = "物料编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ITEM001")
    private String code;
 
    @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "螺丝")
    private String name;
 
    @Schema(description = "规格型号", example = "M6*20")
    private String specification;
 
    @Schema(description = "物料类型:1原料, 2半成品, 3成品, 4辅料", example = "1")
    private Integer itemType;
 
    @Schema(description = "计量单位ID", example = "1")
    private Long unitMeasureId;
 
    @Schema(description = "分类ID", example = "1")
    private Long categoryId;
 
    @Schema(description = "品牌ID", example = "1")
    private Long brandId;
 
    @Schema(description = "状态:0启用, 1禁用", example = "0")
    private Integer status;
 
    @Schema(description = "采购价", example = "10.00")
    private BigDecimal purchasePrice;
 
    @Schema(description = "销售价", example = "20.00")
    private BigDecimal salesPrice;
 
    @Schema(description = "成本价", example = "15.00")
    private BigDecimal costPrice;
 
    @Schema(description = "最低价", example = "8.00")
    private BigDecimal minPrice;
 
    @Schema(description = "安全库存", example = "100")
    private BigDecimal safetyStock;
 
    @Schema(description = "最低库存", example = "50")
    private BigDecimal minStock;
 
    @Schema(description = "最高库存", example = "1000")
    private BigDecimal maxStock;
 
    @Schema(description = "最小订货量", example = "10")
    private BigDecimal minOrderQty;
 
    @Schema(description = "提前期(天)", example = "7")
    private Integer leadTime;
 
    @Schema(description = "是否批次管理", example = "true")
    private Boolean isBatchManaged;
 
    @Schema(description = "是否序列号管理", example = "false")
    private Boolean isSerialManaged;
 
    @Schema(description = "有效期(天)", example = "365")
    private Integer expiryDay;
 
    @Schema(description = "是否高值物料", example = "false")
    private Boolean isHighValue;
 
    @Schema(description = "重量", example = "1.5")
    private BigDecimal weight;
 
    @Schema(description = "备注", example = "备注")
    private String remark;
 
    // ========== 批次属性配置 ==========
 
    @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;
 
}