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/dal/mysql/unit/MdmUnitMeasureMapper.java | 6 ++++++
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java | 6 +++++-
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java
index e9ad95b..e0bc513 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.module.mdm.controller.admin.unit.vo.MdmUnitMeasurePageReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.unit.MdmUnitMeasureDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Delete;
import java.util.Collection;
import java.util.List;
@@ -47,4 +48,9 @@
return selectList(MdmUnitMeasureDO::getId, ids);
}
+ /**
+ * 鐗╃悊鍒犻櫎鍚岀紪鐮佺殑宸茶蒋鍒犻櫎璁板綍
+ */
+ @Delete("DELETE FROM mdm_unit_measure WHERE code = #{code} AND deleted = 1")
+ void physicalDeleteByCode(String code);
}
\ No newline at end of file
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