package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.request; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Data; import java.util.List; import java.util.Map; @Schema(description = "管理后台 - ERP 采购申请导入 Response VO") @Data @Builder public class ErpPurchaseRequestImportRespVO { @Schema(description = "创建成功的采购申请号数组", requiredMode = Schema.RequiredMode.REQUIRED) private List createPurchaseRequestNos; @Schema(description = "导入失败的采购申请集合,key 为单号或行号,value 为失败原因", requiredMode = Schema.RequiredMode.REQUIRED) private Map failurePurchaseRequestNos; /** * 被跳过的行,key 为 Excel 中的实际行号(如「第3行」),value 为跳过原因。 * * 历史实现会因「物料编码为空」静默丢弃这些行,导致用户看到「导入成功」但数据丢失。 * 这里显式返回,前端必须展示,避免数据无声消失。 */ @Schema(description = "被跳过的行(未导入),key 为 Excel 行号,value 为跳过原因") private Map skippedRows; @Schema(description = "Excel 中实际有数据的行数(不含表头与完全空白行)") private Integer totalRows; @Schema(description = "成功导入的行数") private Integer successRows; }