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 |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 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 b1d5c4b..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
@@ -16,11 +16,13 @@
  */
 package org.sxkj.system.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
 import org.springblade.core.log.exception.ServiceException;
@@ -56,6 +58,7 @@
  *
  * @author Chill
  */
+@Slf4j
 @Service
 public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements IDeptService {
 
@@ -151,8 +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);
@@ -167,8 +178,16 @@
 			String ancestors = parent.getAncestors() + StringPool.COMMA + dept.getParentId();
 			dept.setAncestors(ancestors);
 		}
+		
+		// 处理ID重复问题:如果ID存在但记录不存在,设置ID为null让MyBatis-Plus重新生成
+		if (dept.getId() != null) {
+			Dept existingDept = getById(dept.getId());
+			if (existingDept == null) {
+				dept.setId(null);
+			}
+		}
+		
 		dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-
 		return saveOrUpdate(dept);
 	}
 
@@ -342,6 +361,7 @@
 			dept.setUpdateTime(new Date());
 			dept.setDeptNature(2);
 			dept.setDeptCategory(2);
+			dept.setSysType(String.valueOf(6));
 			list.add(dept);
 		});
 		if (isCovered) {

--
Gitblit v1.9.3