From feedd62ec46b9faada80505387526acf914cf4c5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 11 十月 2026 22:49:44 +0800
Subject: [PATCH] 海西州-同仁堂 1.添加操作日志生成

---
 yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

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..e1c5a82 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
@@ -7,6 +7,7 @@
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.operatelog.core.util.OperateLogUtils;
 import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemImportExcelVO;
 import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemImportRespVO;
 import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemPageReqVO;
@@ -26,6 +27,7 @@
 import cn.iocoder.yudao.module.mes.api.item.dto.MesMdItemSyncReqDTO;
 import cn.iocoder.yudao.module.mes.api.item.dto.MesMdItemTypeRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mzt.logapi.starter.annotation.LogRecord;
 import jakarta.annotation.Resource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -39,6 +41,7 @@
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 import static cn.iocoder.yudao.module.mdm.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.mdm.enums.LogRecordConstants.*;
 
 /**
  * MDM 鐗╂枡涓绘暟鎹� Service 瀹炵幇绫�
@@ -431,6 +434,8 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @LogRecord(type = MDM_ITEM_TYPE, subType = MDM_ITEM_IMPORT_SUB_TYPE, bizNo = "0",
+            success = MDM_ITEM_IMPORT_SUCCESS)
     public MdmItemImportRespVO importItemList(List<MdmItemImportExcelVO> importList, Boolean isUpdateSupport) {
         if (CollUtil.isEmpty(importList)) {
             throw exception(MDM_ITEM_IMPORT_LIST_IS_EMPTY);
@@ -457,7 +462,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 +472,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 +481,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 +490,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 +499,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 +534,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,9 +549,11 @@
                 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);
             }
         }
+        // 璁板綍瀵煎叆缁撴灉姹囨�伙紝渚� @LogRecord 鐨� success 鏂囨寮曠敤
+        OperateLogUtils.putImportSummary(respVO.getCreateList(), respVO.getUpdateList(), respVO.getFailureList());
         return respVO;
     }
 

--
Gitblit v1.9.3