From 89fbcb27691165a2a19c85c36d8c3c84f9d38caf Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 29 Jan 2026 11:07:35 +0800
Subject: [PATCH] 优化
---
drone-service/drone-system/src/main/java/org/sxkj/system/controller/DeptController.java | 36 ++++++++++++++++++++++++++++--------
1 files changed, 28 insertions(+), 8 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 c80ffb1..0a8e9c0 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
@@ -16,6 +16,7 @@
*/
package org.sxkj.system.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -52,16 +53,14 @@
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.excel.*;
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.util.excel.RegionSheetWriteHandler;
import org.sxkj.system.vo.DeptVO;
import org.sxkj.system.wrapper.DeptWrapper;
import org.springframework.web.bind.annotation.*;
@@ -69,6 +68,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
@@ -348,7 +350,7 @@
@ApiOperation(value = "导入机构", notes = "传入excel")
public R importRegion(MultipartFile file, Integer isCovered) {
DeptImporter deptImporter = new DeptImporter(deptService, isCovered == 1);
- ExcelUtil.save(file, deptImporter, DeptExcel.class);
+ ExcelUtil.save(file, deptImporter, DeptImportExcel.class);
return R.success("操作成功");
}
@@ -365,13 +367,31 @@
/**
* 导出模板
+ * <p>
+ * 为区域列添加下拉选择功能,限制用户只能选择预设的区域名称
+ * </p>
+ *
+ * @param response HTTP响应对象
+ * @throws IOException 导出异常
*/
@GetMapping("export-template")
@ApiOperationSupport(order = 16)
@ApiOperation(value = "导出模板")
- public void exportUser(HttpServletResponse response) {
- List<DeptExcel> list = new ArrayList<>();
- ExcelUtil.export(response, "机构模板", "机构表", list, DeptExcel.class);
+ public void exportUser(HttpServletResponse response) throws IOException {
+ // 设置响应头
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding(StandardCharsets.UTF_8.name());
+ String fileName = URLEncoder.encode("机构模板", StandardCharsets.UTF_8.name());
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+
+ // 准备空数据列表
+ List<DeptImportExcel> list = new ArrayList<>();
+
+ // 使用EasyExcel导出,并注册RegionSheetWriteHandler
+ EasyExcel.write(response.getOutputStream(), DeptImportExcel.class)
+ .registerWriteHandler(new RegionSheetWriteHandler())
+ .sheet("机构表")
+ .doWrite(list);
}
}
--
Gitblit v1.9.3