From b71e44f6236d9b2fffbd40c74848fcf94897f034 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 23 七月 2026 11:56:05 +0800
Subject: [PATCH] 删除单位时会有报错

---
 yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java
index f3c581d..c85b6de 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java
@@ -11,6 +11,7 @@
 import cn.iocoder.yudao.module.mdm.dal.mysql.unit.MdmUnitMeasureMapper;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 
 import java.util.*;
@@ -65,13 +66,16 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void deleteUnitMeasure(Long id) {
         // 鏍¢獙瀛樺湪
-        validateUnitMeasureExists(id);
+        MdmUnitMeasureDO unitMeasure = validateUnitMeasureExists(id);
         // 鏍¢獙鏄惁琚墿鏂欎娇鐢紙鐩存帴浣跨敤 Mapper 閬垮厤寰幆渚濊禆锛�
         if (itemMapper.selectCountByUnitMeasureId(id) > 0) {
             throw exception(MDM_UNIT_MEASURE_EXISTS_ITEM);
         }
+        // 鍏堟竻鐞嗗悓缂栫爜鐨勫凡杞垹闄よ剰鏁版嵁锛岄伩鍏嶅綋鍓嶈褰曡蒋鍒犳椂瑙﹀彂鍞竴閿啿绐�
+        unitMeasureMapper.physicalDeleteByCode(unitMeasure.getCode());
         // 鍒犻櫎
         unitMeasureMapper.deleteById(id);
     }

--
Gitblit v1.9.3