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; }