From 555a0724a2d62c6fb2faa9bf7abc57cd241880e6 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 19 十月 2026 13:10:16 +0800
Subject: [PATCH] fix(mes): 修复归档台账导出提示系统异常
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java
index 271d5d1..a05baf6 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java
@@ -7,6 +7,8 @@
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.MesWmReturnVendorImportExcelVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.MesWmReturnVendorImportRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.MesWmReturnVendorPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.MesWmReturnVendorSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorDO;
@@ -29,8 +31,11 @@
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
@@ -304,4 +309,50 @@
return returnVendorMapper.selectCountByVendorId(vendorId);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public MesWmReturnVendorImportRespVO importReturnVendorList(List<MesWmReturnVendorImportExcelVO> importList, boolean updateSupport) {
+ if (CollUtil.isEmpty(importList)) {
+ throw exception(WM_RETURN_VENDOR_IMPORT_LIST_IS_EMPTY);
+ }
+ MesWmReturnVendorImportRespVO respVO = MesWmReturnVendorImportRespVO.builder()
+ .createCodes(new ArrayList<>()).updateCodes(new ArrayList<>())
+ .failureCodes(new LinkedHashMap<>()).build();
+ AtomicInteger index = new AtomicInteger(1);
+ importList.forEach(importItem -> {
+ int currentIndex = index.getAndIncrement();
+ String code = importItem.getCode();
+ String key = StrUtil.blankToDefault(code, "绗� " + currentIndex + " 琛�");
+ if (StrUtil.isBlank(code)) {
+ respVO.getFailureCodes().put(key, "鍗曞彿涓嶈兘涓虹┖");
+ return;
+ }
+ if (StrUtil.isBlank(importItem.getName())) {
+ respVO.getFailureCodes().put(key, "鍚嶇О涓嶈兘涓虹┖");
+ return;
+ }
+ MesWmReturnVendorDO existing = returnVendorMapper.selectByCode(code);
+ if (existing != null && updateSupport) {
+ if (!MesWmReturnVendorStatusEnum.PREPARE.getStatus().equals(existing.getStatus())) {
+ respVO.getFailureCodes().put(key, "鍗曟嵁闈炶崏绋跨姸鎬侊紝涓嶅厑璁歌鐩栨洿鏂�");
+ return;
+ }
+ MesWmReturnVendorDO updateObj = BeanUtils.toBean(importItem, MesWmReturnVendorDO.class);
+ updateObj.setId(existing.getId());
+ updateObj.setStatus(existing.getStatus());
+ returnVendorMapper.updateById(updateObj);
+ respVO.getUpdateCodes().add(code);
+ } else if (existing != null) {
+ respVO.getFailureCodes().put(key, "鍗曞彿宸插瓨鍦細" + code);
+ } else {
+ MesWmReturnVendorDO createObj = BeanUtils.toBean(importItem, MesWmReturnVendorDO.class);
+ createObj.setId(null);
+ createObj.setStatus(MesWmReturnVendorStatusEnum.PREPARE.getStatus());
+ returnVendorMapper.insert(createObj);
+ respVO.getCreateCodes().add(code);
+ }
+ });
+ return respVO;
+ }
+
}
--
Gitblit v1.9.3