package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.demand;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.Valid;
|
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
@Schema(description = "管理后台 - ERP 申请采购单新增/修改 Request VO")
|
@Data
|
public class ErpPurchaseDemandSaveReqVO {
|
|
@Schema(description = "编号(修改时必填)", example = "1")
|
private Long id;
|
|
@Schema(description = "供货商编号", example = "1")
|
private Long supplierId;
|
|
@Schema(description = "采购品类(1 代理商品 2 原辅料)", example = "1")
|
private Integer purchaseCategory;
|
|
@Schema(description = "来源(1 生产计划自动生成 2 手工创建)", example = "2")
|
private Integer sourceType;
|
|
@Schema(description = "关联生产任务(工单号)", example = "MO20261030001")
|
private String workOrderNo;
|
|
@Schema(description = "需求日期", example = "2026-11-15")
|
private LocalDate demandTime;
|
|
@Schema(description = "用途说明", example = "车间维修备件")
|
private String purpose;
|
|
@Schema(description = "备注", example = "尽快到货")
|
private String remark;
|
|
@Schema(description = "需求明细列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotEmpty(message = "需求明细不能为空")
|
@Valid
|
private List<Item> items;
|
|
@Schema(description = "需求明细项")
|
@Data
|
public static class Item {
|
|
@Schema(description = "编号(修改时必填)", example = "1")
|
private Long id;
|
|
@Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
|
@NotNull(message = "产品编号不能为空")
|
private Long productId;
|
|
@Schema(description = "产品单位编号", example = "3114")
|
private Long productUnitId;
|
|
@Schema(description = "参考单价", example = "100.00")
|
private BigDecimal productPrice;
|
|
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10.00")
|
@NotNull(message = "数量不能为空")
|
private BigDecimal count;
|
|
@Schema(description = "备注", example = "急需")
|
private String remark;
|
|
}
|
|
}
|