From 66bfbdb9251c22ffa2b5f05595a76a3547a2f5eb Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Mon, 09 Feb 2026 11:00:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 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 d14059a..0d8f0ee 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
@@ -32,12 +32,15 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springframework.stereotype.Service;
+import org.sxkj.common.constant.WordOrderConstant;
 import org.sxkj.common.func.Streams;
 import org.sxkj.common.node.TreeStringNode;
 import org.sxkj.common.utils.NodeTreeUtil;
+import org.sxkj.common.utils.OrderNumUtils;
 import org.sxkj.system.cache.SysCache;
 import org.sxkj.system.entity.Dept;
 import org.sxkj.system.excel.DeptExcel;
+import org.sxkj.system.excel.DeptImportExcel;
 import org.sxkj.system.mapper.DeptMapper;
 import org.sxkj.system.param.DeptExportParam;
 import org.sxkj.system.param.DeptPageParam;
@@ -301,6 +304,7 @@
 
 	/**
 	 * 分页查询
+	 *
 	 * @param page
 	 * @param deptPageParam
 	 * @return
@@ -312,25 +316,50 @@
 
 	/**
 	 * 导入部门
+	 *
 	 * @param data
 	 * @param isCovered
 	 */
 	@Override
-	public void importDept(List<DeptExcel> data, Boolean isCovered) {
+	public void importDept(List<DeptImportExcel> data, Boolean isCovered) {
 		List<Dept> list = new ArrayList<>();
 		data.forEach(deptExcel -> {
+			// 校验必填字段
+			if (deptExcel.getDeptName() == null || deptExcel.getDeptName().trim().isEmpty()) {
+				throw new RuntimeException("机构名称不能为空");
+			}
+			if (deptExcel.getAreaCode() == null || deptExcel.getAreaCode().trim().isEmpty()) {
+				throw new RuntimeException("所属区划编码不能为空");
+			}
+			if (deptExcel.getRemark() == null || deptExcel.getRemark().trim().isEmpty()) {
+				throw new RuntimeException("机构描述不能为空");
+			}
+			if (deptExcel.getStatus() == null || deptExcel.getStatus().trim().isEmpty()) {
+				throw new RuntimeException("机构状态不能为空");
+			}
+			// 转换数据
 			Dept dept = BeanUtil.copy(deptExcel, Dept.class);
 			list.add(dept);
 		});
 		if (isCovered) {
 			this.saveOrUpdateBatch(list);
 		} else {
+			list.forEach(item -> {
+				String times = OrderNumUtils.initOrderNum2(WordOrderConstant.ORG_CODE);
+				String deptCode = WordOrderConstant.ORG_PREFIX + times;
+				item.setDeptCode(deptCode);
+			});
 			this.saveBatch(list);
 		}
 	}
 
 	@Override
 	public List<DeptExcel> exportDept(DeptExportParam dept) {
-		  return baseMapper.exportDept(dept);
+		return baseMapper.exportDept(dept);
+	}
+
+	@Override
+	public DeptVO getDetailWithAreaName(Dept dept) {
+		return baseMapper.getDetailWithAreaName(dept);
 	}
 }

--
Gitblit v1.9.3