diff --git a/neuray-admin/pom.xml b/neuray-admin/pom.xml
index 4652bbc956bb340827a12fd17e42f0219e21a913..73a1f1b6d5f87c72327d9e7b904b5464ae673bb5 100644
--- a/neuray-admin/pom.xml
+++ b/neuray-admin/pom.xml
@@ -108,6 +108,11 @@
1.0-SNAPSHOT
test
+
+ com.monitorjbl
+ xlsx-streamer
+ 2.0.0
+
diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java
index 953b1e7944faccba06246c302d83bb6e90976e11..e4cfdf5c6cd79e86b18fe9f1bb96a8978eb5fae5 100644
--- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java
+++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/controller/EngineParamController.java
@@ -1,6 +1,7 @@
package com.gitee.neuray.security.modules.param.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gitee.neuray.security.common.exception.RRException;
import com.gitee.neuray.security.common.utils.PageUtils;
import com.gitee.neuray.security.common.utils.R;
import com.gitee.neuray.security.modules.param.entity.EngineItemEntity;
@@ -8,14 +9,18 @@ import com.gitee.neuray.security.modules.param.entity.ParamItemEntity;
import com.gitee.neuray.security.modules.param.service.EngineManageService;
import com.gitee.neuray.security.modules.param.service.EngineParamService;
import com.gitee.neuray.security.modules.param.service.ParamItemService;
+import com.gitee.neuray.security.modules.param.util.ExcelUtil;
import com.gitee.neuray.security.modules.sys.shiro.ShiroUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.*;
/**
@@ -144,5 +149,71 @@ public class EngineParamController {
return R.ok().put("paramList", ret);
}*/
+ /**
+ * 下载模板
+ */
+ @RequestMapping("/download/{id}")
+ @RequiresPermissions("engine:param:download")
+ public void download(HttpServletResponse response,@PathVariable("id") String id) throws Exception{
+ String fname = "发动机参数模板.xlsx";// Excel文件名
+ OutputStream out = response.getOutputStream();// 取得输出流
+ response.reset();// 清空输出流
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fname, "UTF-8")); // 设定输出文件头,该方法有两个参数,分别表示应答头的名字和值。XSSF:xlsx HSSF:xls 中文要用encode处理一下
+ response.setContentType("application/msexcel");
+ response.setContentType("text/html; charset=UTF-8"); //设置编码字符
+ String [] arr = paramService.getExcelTitleById(id).get("fieldsName").toString().split(",");
+ Map param = new HashMap();
+ param.put("fieldsName", Arrays.asList(arr));
+ try {
+ ExcelUtil.process(out,param);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ /**
+ * 导出
+ */
+ @RequestMapping("/export/{id}")
+ @RequiresPermissions("engine:param:export")
+ public void export(HttpServletResponse response,@PathVariable("id") String id) throws Exception{
+ String fname = "发动机参数列表.xlsx";// Excel文件名
+ OutputStream out = response.getOutputStream();// 取得输出流
+ response.reset();// 清空输出流
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fname, "UTF-8")); // 设定输出文件头,该方法有两个参数,分别表示应答头的名字和值。XSSF:xlsx HSSF:xls 中文要用encode处理一下
+ response.setContentType("application/msexcel");
+ response.setContentType("text/html; charset=UTF-8"); //设置编码字符
+ Map map = paramService.getExcelTitleById(id);
+ String [] arr = map.get("fieldsName").toString().split(",");
+ String [] arr1 = map.get("fields").toString().split(",");
+ Map param = new HashMap();
+ param.put("fieldsName", Arrays.asList(arr));
+ param.put("fields", Arrays.asList(arr1));
+ // 获取表名
+ String tableName = paramService.getTableNameById(id).getTableName();
+ param.put("data",paramService.getParamByTable(tableName));
+ try {
+ ExcelUtil.process(out,param);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ /**
+ * 上传文件
+ */
+ @RequestMapping("/importExcel")
+ @RequiresPermissions("engine:param:importExcel")
+ public R importExcel(@RequestParam("file") MultipartFile file) throws Exception {
+ if (file.isEmpty()) {
+ throw new RRException("上传文件不能为空");
+ }
+
+ return R.ok();
+ }
}
diff --git a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/dao/EngineItemDao.java b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/dao/EngineItemDao.java
index 2a2b4d0c1d495a16b850498d6d593bca035a6eda..3c3f53a9953ff1139762e43bc94489fef54f64f4 100644
--- a/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/dao/EngineItemDao.java
+++ b/neuray-admin/src/main/java/com/gitee/neuray/security/modules/param/dao/EngineItemDao.java
@@ -27,4 +27,6 @@ public interface EngineItemDao extends BaseMapper {
List