From 83dea93d02925e162ad88954b7d0ed97dd8a442a Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 15 九月 2026 13:20:24 +0800
Subject: [PATCH] fix(mdm): 修复物料导入/下载模板报系统异常
---
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java | 16 +++++++++-------
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java | 10 ++++++++++
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java
index d01affa..145cbb1 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java
@@ -4,6 +4,7 @@
import cn.idev.excel.enums.CellDataTypeEnum;
import cn.idev.excel.metadata.GlobalConfiguration;
import cn.idev.excel.metadata.data.ReadCellData;
+import cn.idev.excel.metadata.data.WriteCellData;
import cn.idev.excel.metadata.property.ExcelContentProperty;
/**
@@ -24,6 +25,15 @@
}
@Override
+ public WriteCellData<?> convertToExcelData(Integer value, ExcelContentProperty contentProperty,
+ GlobalConfiguration globalConfiguration) {
+ if (value == null) {
+ return new WriteCellData<>("");
+ }
+ return new WriteCellData<>(value == 0 ? "鍚敤" : "鍋滅敤");
+ }
+
+ @Override
public Integer convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
if (cellData == null) {
diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
index cb23410..c3bc416 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
@@ -457,7 +457,9 @@
for (MdmItemImportExcelVO importVO : importList) {
// 2.1 鍩虹鏍¢獙
if (StrUtil.isBlank(importVO.getCode()) || StrUtil.isBlank(importVO.getName())) {
- respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "鐗╂枡缂栫爜鍜岀墿鏂欏悕绉颁笉鑳戒负绌�");
+ String failKey = StrUtil.isNotBlank(importVO.getName()) ? importVO.getName()
+ : (StrUtil.isNotBlank(importVO.getCode()) ? importVO.getCode() : "锛堝悕绉板拰缂栫爜涓虹┖鐨勮锛�");
+ respVO.getFailureList().put(failKey, "鐗╂枡缂栫爜鍜岀墿鏂欏悕绉颁笉鑳戒负绌�");
continue;
}
// 2.2 瑙f瀽鍒嗙被
@@ -465,7 +467,7 @@
if (StrUtil.isNotBlank(importVO.getCategoryCode())) {
categoryId = categoryCodeIdMap.get(importVO.getCategoryCode());
if (categoryId == null) {
- respVO.getFailureList().put(importVO.getName(), "鐗╂枡鍒嗙被缂栫爜涓嶅瓨鍦細" + importVO.getCategoryCode());
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "鐗╂枡鍒嗙被缂栫爜涓嶅瓨鍦細" + importVO.getCategoryCode());
continue;
}
}
@@ -474,7 +476,7 @@
if (StrUtil.isNotBlank(importVO.getUnitMeasureCode())) {
unitMeasureId = unitCodeIdMap.get(importVO.getUnitMeasureCode());
if (unitMeasureId == null) {
- respVO.getFailureList().put(importVO.getName(), "璁¢噺鍗曚綅缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode());
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "璁¢噺鍗曚綅缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode());
continue;
}
}
@@ -483,7 +485,7 @@
if (StrUtil.isNotBlank(importVO.getUnitMeasureCode2())) {
unitMeasureId2 = unitCodeIdMap.get(importVO.getUnitMeasureCode2());
if (unitMeasureId2 == null) {
- respVO.getFailureList().put(importVO.getName(), "杈呭崟浣�1缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode2());
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "杈呭崟浣�1缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode2());
continue;
}
}
@@ -492,7 +494,7 @@
if (StrUtil.isNotBlank(importVO.getUnitMeasureCode3())) {
unitMeasureId3 = unitCodeIdMap.get(importVO.getUnitMeasureCode3());
if (unitMeasureId3 == null) {
- respVO.getFailureList().put(importVO.getName(), "杈呭崟浣�2缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode3());
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "杈呭崟浣�2缂栫爜涓嶅瓨鍦細" + importVO.getUnitMeasureCode3());
continue;
}
}
@@ -527,7 +529,7 @@
try {
if (existByCode != null) {
if (!Boolean.TRUE.equals(isUpdateSupport)) {
- respVO.getFailureList().put(importVO.getName(), "鐗╂枡缂栫爜宸插瓨鍦�");
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), "鐗╂枡缂栫爜宸插瓨鍦�");
continue;
}
saveReqVO.setId(existByCode.getId());
@@ -542,7 +544,7 @@
String reason = ex instanceof cn.iocoder.yudao.framework.common.exception.ServiceException
? ((cn.iocoder.yudao.framework.common.exception.ServiceException) ex).getMessage()
: ex.getMessage();
- respVO.getFailureList().put(importVO.getName(), reason == null ? "瀵煎叆澶辫触" : reason);
+ respVO.getFailureList().put(StrUtil.blankToDefault(importVO.getName(), importVO.getCode()), reason == null ? "瀵煎叆澶辫触" : reason);
}
}
return respVO;
--
Gitblit v1.9.3