From 1abd541be8d02dabaa77d3c6d2fecde5ef0e4b5b Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 29 Jan 2026 17:02:50 +0800
Subject: [PATCH] 区划改造

---
 drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
index fb60c74..a449be8 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
@@ -16,6 +16,7 @@
  */
 package org.sxkj.system.controller;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -32,11 +33,14 @@
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.sxkj.system.entity.Region;
+import org.sxkj.system.excel.DeptImportExcel;
 import org.sxkj.system.excel.RegionExcel;
+import org.sxkj.system.excel.RegionImportExcel;
 import org.sxkj.system.excel.RegionImporter;
 import org.sxkj.system.param.RegionAddParam;
 import org.sxkj.system.param.RegionPageParam;
 import org.sxkj.system.service.IRegionService;
+import org.sxkj.system.util.excel.RegionSheetWriteHandler;
 import org.sxkj.system.vo.RegionVO;
 import org.sxkj.system.vo.TreeVo;
 import org.sxkj.system.wrapper.RegionWrapper;
@@ -46,6 +50,10 @@
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -197,7 +205,7 @@
 	@ApiOperation(value = "导入行政区划", notes = "传入excel")
 	public R importRegion(MultipartFile file, Integer isCovered) {
 		RegionImporter regionImporter = new RegionImporter(regionService, isCovered == 1);
-		ExcelUtil.save(file, regionImporter, RegionExcel.class);
+		ExcelUtil.save(file, regionImporter, RegionImportExcel.class);
 		return R.success("操作成功");
 	}
 
@@ -216,12 +224,32 @@
 	/**
 	 * 导出模板
 	 */
+	// @GetMapping("export-template")
+	// @ApiOperationSupport(order = 12)
+	// @ApiOperation(value = "导出模板")
+	// public void exportUser(HttpServletResponse response) {
+	// 	List<RegionImportExcel> list = new ArrayList<>();
+	// 	ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionImportExcel.class);
+	// }
+
 	@GetMapping("export-template")
-	@ApiOperationSupport(order = 12)
+	@ApiOperationSupport(order = 16)
 	@ApiOperation(value = "导出模板")
-	public void exportUser(HttpServletResponse response) {
-		List<RegionExcel> list = new ArrayList<>();
-		ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionExcel.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<RegionImportExcel> list = new ArrayList<>();
+
+		// 使用EasyExcel导出,并注册RegionSheetWriteHandler
+		EasyExcel.write(response.getOutputStream(), RegionImportExcel.class)
+				.registerWriteHandler(new RegionSheetWriteHandler())
+				.sheet("行政区划表")
+				.doWrite(list);
 	}
 
 	/**

--
Gitblit v1.9.3