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 = "物料分类编号(关联 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 = "保质期天数", 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;
|
|
}
|