xiaoyi
6 天以前 481d8165f26fc7e37f0e87f6444ac0340bb563a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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<String> createPurchaseRequestNos;
 
    @Schema(description = "导入失败的采购申请集合,key 为单号或行号,value 为失败原因", requiredMode = Schema.RequiredMode.REQUIRED)
    private Map<String, String> failurePurchaseRequestNos;
 
    /**
     * 被跳过的行,key 为 Excel 中的实际行号(如「第3行」),value 为跳过原因。
     *
     * 历史实现会因「物料编码为空」静默丢弃这些行,导致用户看到「导入成功」但数据丢失。
     * 这里显式返回,前端必须展示,避免数据无声消失。
     */
    @Schema(description = "被跳过的行(未导入),key 为 Excel 行号,value 为跳过原因")
    private Map<String, String> skippedRows;
 
    @Schema(description = "Excel 中实际有数据的行数(不含表头与完全空白行)")
    private Integer totalRows;
 
    @Schema(description = "成功导入的行数")
    private Integer successRows;
 
}