cuilei
2025-06-11 cd00884c3db8fa6808b3b5949ab1a2b1459d6bdc
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/BaseToolsController.java
@@ -1,5 +1,8 @@
package org.jeecg.modules.tms.controller;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -7,6 +10,8 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.tms.entity.*;
@@ -575,4 +580,98 @@
       IPage<SharpeeningVo> resultPage = baseToolsService.pageWithSharpedAndConfig(page, queryWrapper);
       return Result.OK(resultPage);
    }
    /**
     * 导入模板下载
     *
     */
    @RequestMapping(value = "/loadTemplate")
    public void loadTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException {
       Map<String,String[]> req = request.getParameterMap();
       String paraTypeFlag = "";
       if(req.get("paraTypeFlag") != null){
          paraTypeFlag = req.get("paraTypeFlag")[0];
       }
       if("1".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-通用参数.xlsx"));
          //导出Workbook
          //设置响应头
          String fileName = "刀具信息导入模板-通用参数.xlsx";
          // 对文件名进行URL编码,防止中文乱码
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          // 将Workbook写入响应输出流
          try { // try-with-resources自动关闭资源
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             // 异常处理(如记录日志)
             throw new IOException("下载模板失败", e);
          }
       }else if("2".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-孔加工工具.xlsx"));
          String fileName = "刀具信息导入模板-孔加工工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("3".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-螺纹工具.xlsx"));
          String fileName = "刀具信息导入模板-螺纹工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("4".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-铣削工具.xlsx"));
          String fileName = "刀具信息导入模板-铣削工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("5".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-车削工具.xlsx"));
          String fileName = "刀具信息导入模板-车削工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("6".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-刀片.xlsx"));
          String fileName = "刀具信息导入模板-刀片.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }
    }
}