package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order; import cn.idev.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; /** * 管理后台 - 采购订单导入 Excel VO * * 说明:一行 = 一条产品明细;相同“采购单编号”的多行会合并为一张订单(主表字段取该组首行)。 * “采购单编号”留空时,每一行会各自生成一张新订单(单条明细)。 * * @author 超级管理员 */ @Schema(description = "管理后台 - 采购订单导入 Excel VO") @Data @Builder @AllArgsConstructor @NoArgsConstructor public class ErpPurchaseOrderImportExcelVO { @ExcelProperty("采购单编号") @Schema(description = "采购单编号,留空则自动生成;相同编号的多行合并为同一张订单") private String no; @ExcelProperty("供应商名称") @Schema(description = "供应商名称,需与系统内供应商名称(或编码)一致", requiredMode = Schema.RequiredMode.REQUIRED) private String supplierName; @ExcelProperty("采购时间") @Schema(description = "采购时间,格式如 2026-01-01 10:00:00;留空取当前时间") private String orderTime; @ExcelProperty("产品编码") @Schema(description = "产品(物料)编码", requiredMode = Schema.RequiredMode.REQUIRED) private String productCode; @ExcelProperty("产品名称") @Schema(description = "产品名称(仅供对照,匹配仍以产品编码为准)") private String productName; @ExcelProperty("数量") @Schema(description = "产品数量", requiredMode = Schema.RequiredMode.REQUIRED) private BigDecimal count; @ExcelProperty("单价") @Schema(description = "产品单价") private BigDecimal productPrice; @ExcelProperty("税率(%)") @Schema(description = "税率,百分比,例如 13 表示 13%") private BigDecimal taxPercent; @ExcelProperty("是否来料检验") @Schema(description = "是否需要来料检验:填“是”为需要,其它为不需要") private String qcCheckFlag; @ExcelProperty("备注") @Schema(description = "备注") private String remark; }