From de09889cb97fcd7e9ae3236d3cb0d9f2f752e439 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 22 Apr 2026 15:26:30 +0800
Subject: [PATCH] fix: 删除机构异常
---
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java b/drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java
index e182ed2..ff2e938 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java
@@ -154,9 +154,16 @@
return removeByIds(Func.toLongList(ids));
}
+ /**
+ * 提交部门信息
+ *
+ * @param dept 部门信息
+ * @return 是否操作成功
+ */
@Override
public boolean submit(Dept dept) {
log.info("提交数据:{}", JSON.toJSONString(dept));
+ // 处理父节点信息
if (Func.isEmpty(dept.getParentId())) {
dept.setTenantId(AuthUtil.getTenantId());
dept.setParentId(BladeConstant.TOP_PARENT_ID);
@@ -171,11 +178,17 @@
String ancestors = parent.getAncestors() + StringPool.COMMA + dept.getParentId();
dept.setAncestors(ancestors);
}
- dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
- if (dept.getId() != null && dept.getId() > 0) {
- return updateById(dept);
+
+ // 处理ID重复问题:如果ID存在但记录不存在,设置ID为null让MyBatis-Plus重新生成
+ if (dept.getId() != null) {
+ Dept existingDept = getById(dept.getId());
+ if (existingDept == null) {
+ dept.setId(null);
+ }
}
- return save(dept);
+
+ dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+ return saveOrUpdate(dept);
}
@Override
--
Gitblit v1.9.3