From 8eefac7a9b2b6ac0e7b005e1ae4e3e0bdf8e3f7f Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 27 Jan 2026 15:02:46 +0800
Subject: [PATCH] 机构优化
---
drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java | 63 +++++++++++++++++++++++++++++--
1 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java
index 3508688..99ed673 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java
@@ -26,6 +26,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
+import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -36,17 +37,29 @@
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.multipart.MultipartFile;
+import org.sxkj.common.constant.WordOrderConstant;
import org.sxkj.common.node.TreeStringNode;
import org.sxkj.common.utils.HeaderUtils;
+import org.sxkj.common.utils.OrderNumUtils;
import org.sxkj.system.cache.DictCache;
import org.sxkj.system.cache.UserCache;
import org.sxkj.system.entity.Dept;
+import org.sxkj.system.entity.Region;
import org.sxkj.system.entity.User;
import org.sxkj.system.enums.DictEnum;
+import org.sxkj.system.excel.DeptExcel;
+import org.sxkj.system.excel.DeptImporter;
+import org.sxkj.system.excel.RegionExcel;
+import org.sxkj.system.excel.RegionImporter;
import org.sxkj.system.mapper.DeptMapper;
import org.sxkj.system.mapper.UserMapper;
+import org.sxkj.system.param.DeptAddParam;
+import org.sxkj.system.param.DeptExportParam;
import org.sxkj.system.param.DeptPageParam;
import org.sxkj.system.service.IDeptService;
import org.sxkj.system.vo.DeptVO;
@@ -54,9 +67,12 @@
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
@@ -91,7 +107,7 @@
}
/**
- * 飞手表 自定义分页
+ * 机构 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@@ -181,13 +197,16 @@
/**
* 新增或修改
*/
-// @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入dept")
@ApiLog("组织机构信息新增或修改")
- public R submit(@Valid @RequestBody Dept dept) {
- if (deptService.submit(dept)) {
+ public R submit(@Valid @RequestBody DeptAddParam dept) {
+ Dept deptEntity = Objects.requireNonNull(BeanUtil.copy(dept, Dept.class));
+ String times = OrderNumUtils.initOrderNum2(WordOrderConstant.ORG_CODE);
+ String deptCode = WordOrderConstant.ORG_PREFIX + times;
+ deptEntity.setDeptCode(deptCode);
+ if (deptService.submit(deptEntity)) {
CacheUtil.clear(SYS_CACHE);
CacheUtil.clear(SYS_CACHE, Boolean.FALSE);
List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getDeptId, dept.getId()));
@@ -284,7 +303,7 @@
*/
@GetMapping("/getParentDeptInfo")
@ApiOperationSupport(order = 12)
- @ApiOperation(value = "下拉数据源", notes = "传入id集合")
+ @ApiOperation(value = "通过id查询", notes = "传入id集合")
public R getParentDeptInfo(String deptId) {
DeptVO list = deptService.getParentDeptInfo(deptId);
return R.data(list);
@@ -322,4 +341,38 @@
return R.data(list);
}
+ /**
+ * 导入机构数据
+ */
+ @PostMapping("import-region")
+ @ApiOperationSupport(order = 14)
+ @ApiOperation(value = "导入机构", notes = "传入excel")
+ public R importRegion(MultipartFile file, Integer isCovered) {
+ DeptImporter deptImporter = new DeptImporter(deptService, isCovered == 1);
+ ExcelUtil.save(file, deptImporter, DeptExcel.class);
+ return R.success("操作成功");
+ }
+
+ /**
+ * 导出机构数据
+ */
+ @GetMapping("export-region")
+ @ApiOperationSupport(order = 15)
+ @ApiOperation(value = "导出机构", notes = "传入user")
+ public void exportRegion(DeptExportParam dept, HttpServletResponse response) {
+ List<DeptExcel> list = deptService.exportDept(dept);
+ ExcelUtil.export(response, "机构数据" + DateUtil.time(), "机构数据表", list, DeptExcel.class);
+ }
+
+ /**
+ * 导出模板
+ */
+ @GetMapping("export-template")
+ @ApiOperationSupport(order = 16)
+ @ApiOperation(value = "导出模板")
+ public void exportUser(HttpServletResponse response) {
+ List<DeptExcel> list = new ArrayList<>();
+ ExcelUtil.export(response, "机构模板", "机构表", list, DeptExcel.class);
+ }
+
}
--
Gitblit v1.9.3