CommonController.java 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. package com.ruoyi.project.common;
  2. import com.ruoyi.common.constant.Constants;
  3. import com.ruoyi.common.utils.StringUtils;
  4. import com.ruoyi.common.utils.file.FileUploadUtils;
  5. import com.ruoyi.common.utils.file.FileUtils;
  6. import com.ruoyi.framework.config.RuoYiConfig;
  7. import com.ruoyi.framework.config.ServerConfig;
  8. import com.ruoyi.framework.web.controller.BaseController;
  9. import com.ruoyi.framework.web.domain.AjaxResult;
  10. import com.ruoyi.project.sems.domain.TSpecdevGl;
  11. import com.ruoyi.project.sems.service.*;
  12. import org.apache.poi.ss.usermodel.CellStyle;
  13. import org.apache.poi.ss.usermodel.Row;
  14. import org.apache.poi.ss.usermodel.Sheet;
  15. import org.apache.poi.xssf.streaming.SXSSFWorkbook;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import javax.servlet.ServletOutputStream;
  22. import javax.servlet.http.HttpServletRequest;
  23. import javax.servlet.http.HttpServletResponse;
  24. import java.io.*;
  25. import java.util.UUID;
  26. /**
  27. * 通用请求处理
  28. *
  29. * @author ruoyi
  30. */
  31. @RestController
  32. public class CommonController extends BaseController
  33. {
  34. private static final Logger log = LoggerFactory.getLogger(CommonController.class);
  35. @Autowired
  36. private ServerConfig serverConfig;
  37. @Autowired
  38. private ITSpecdevYlrqService tSpecdevYlrqService;
  39. @Autowired
  40. private ITSpecdevYlgdService tSpecdevYlgdService;
  41. @Autowired
  42. private ITSpecdevGlService tSpecdevGlService;
  43. @Autowired
  44. private ITSpecdevDzsbService tSpecdevDzsbService;
  45. @Autowired
  46. private ITSpecdevDtService tSpecdevDtService;
  47. @Autowired
  48. private ITSpecdevCcService tSpecdevCcService;
  49. /**
  50. * 导入下载模板
  51. */
  52. @RequestMapping("common/template")
  53. @ResponseBody
  54. public void template(String type,HttpServletRequest request, HttpServletResponse response) throws IOException
  55. {
  56. String downloadname = "";
  57. String url = "";
  58. if ( type.equals("alarmmodify") ) {
  59. downloadname = "报警值管理导入模板.xlsx";
  60. url = "static/template/process/alarmmodify.xlsx";
  61. } else if( type.equals("publicdoc") ) {
  62. downloadname = "公共文档管理导入模板.xlsx";
  63. url = "static/template/document/publicdoc.xlsx";
  64. } else if( type.equals("publicdocmenu") ) {
  65. downloadname = "公共文档目录管理导入模板.xlsx";
  66. url = "static/template/document/publicdocmenu.xlsx";
  67. } else if( type.equals("permanentMoc") ) {
  68. downloadname = "永久MOC导入模板.xlsx";
  69. url = "static/template/process/moc/permanentMoc.xlsx";
  70. } else if( type.equals("temporaryMoc") ) {
  71. downloadname = "临时MOC导入模板.xlsx";
  72. url = "static/template/process/moc/temporaryMoc.xlsx";
  73. } else if( type.equals("aquifier") ) {
  74. downloadname = "临时MOC-带压消漏清单导入模板.xlsx";
  75. url = "static/template/process/moc/aquifier.xlsx";
  76. } else if( type.equals("facility") ) {
  77. downloadname = "临时MOC-临时设施及其它导入模板.xlsx";
  78. url = "static/template/process/moc/facility.xlsx";
  79. } else if( type.equals("interlock") ) {
  80. downloadname = "临时MOC-仪表联锁旁路导入模板.xlsx";
  81. url = "static/template/process/moc/interlock.xlsx";
  82. } else if( type.equals("accident") ) {
  83. downloadname = "隐患排查导入模板.xlsx";
  84. url = "static/template/production/accident.xlsx";
  85. } else if( type.equals("blind") ) {
  86. downloadname = "盲板清单导入模板.xlsx";
  87. url = "static/template/production/blind.xlsx";
  88. } else if( type.equals("我的机器") ) {
  89. downloadname = "5S管理我的机器导入模板.xlsx";
  90. url = "static/template/production/wsglmachine.xlsx";
  91. } else if( type.equals("我的区域") ) {
  92. downloadname = "5S管理我的区域导入模板.xlsx";
  93. url = "static/template/production/wsglarea.xlsx";
  94. } else if( type.equals("day") ) {
  95. downloadname = "报警统计(昨天)导入模板.xlsx";
  96. url = "static/template/production/alarmstatistics.xlsx";
  97. } else if( type.equals("month") ) {
  98. downloadname = "报警统计(上月)导入模板.xlsx";
  99. url = "static/template/production/alarmstatistics.xlsx";
  100. } else if( type.equals("lbnhjstj") ) {
  101. downloadname = "能耗管理统计导入模板.xlsx";
  102. url = "static/template/production/lbnhjstj.xlsx";
  103. } else if( type.equals("sai") ) {
  104. downloadname = "SAI信息导入模板.xlsx";
  105. url = "static/template/production/sai.xlsx";
  106. } else if( type.equals("rcaudit") ) {
  107. downloadname = "RC审计助手导入模板.xlsx";
  108. url = "static/template/ehs/rcaudit.xlsx";
  109. } else if( type.equals("rcauditmenu") ) {
  110. downloadname = "RC审计助手目录导入模板.xlsx";
  111. url = "static/template/ehs/rcauditmenu.xlsx";
  112. } else if( type.equals("plantproglistprocedure") ) {
  113. downloadname = "装置程序清单程序总汇导入模板.xlsx";
  114. url = "static/template/document/plantproglistprocedure.xlsx";
  115. } else if( type.equals("plantproglistform") ) {
  116. downloadname = "装置程序清单表格总汇导入模板.xlsx";
  117. url = "static/template/document/plantproglistform.xlsx";
  118. } else if( type.equals("plantproglistguide") ) {
  119. downloadname = "装置程序清单指南总汇导入模板.xlsx";
  120. url = "static/template/document/plantproglistguide.xlsx";
  121. } else if( type.equals("plantproglistbook") ) {
  122. downloadname = "装置程序清单指导书总汇导入模板.xlsx";
  123. url = "static/template/document/plantproglistbook.xlsx";
  124. } else if( type.equals("plantproglistannex") ) {
  125. downloadname = "装置程序清单附件总汇导入模板.xlsx";
  126. url = "static/template/document/plantproglistannex.xlsx";
  127. } else if( type.equals("plantproglistmaterials") ) {
  128. downloadname = "装置程序清单培训材料导入模板.xlsx";
  129. url = "static/template/document/plantproglistmaterials.xlsx";
  130. } else if( type.equals("officesupply") ) {
  131. downloadname = "办公用品管理导入模板.xlsx";
  132. url = "static/template/affair/officesupply.xlsx";
  133. } else if( type.equals("ppe") ) {
  134. downloadname = "PPE发放登记导入模板.xlsx";
  135. url = "static/template/affair/ppe.xlsx";
  136. } else if( type.equals("intercom") ) {
  137. downloadname = "对讲机管理导入模板.xlsx";
  138. url = "static/template/affair/intercom.xlsx";
  139. } else if( type.equals("kkxglcs") ) {
  140. downloadname = "可靠性管理措施导入模板.xlsx";
  141. url = "static/template/reliability/kkxglcs.xlsx";
  142. } else if( type.equals("original") ) {
  143. downloadname = "故障管理初选导入模板.xlsx";
  144. url = "static/template/reliability/original.xlsx";
  145. } else if( type.equals("abnormalreport") ) {
  146. downloadname = "异常报告管理导入模板.xlsx";
  147. url = "static/template/reliability/abnormalreport.xlsx";
  148. } else if( type.equals("assetlist") ) {
  149. downloadname = "资产清单导入模板.xlsx";
  150. url = "static/template/reliability/assetlist.xlsx";
  151. } else if( type.equals("safetyvavle") ) {
  152. downloadname = "安全阀清单导入模板.xlsx";
  153. url = "static/template/reliability/safetyvavle.xlsx";
  154. } else if( type.equals("preventivemaintenance") ) {
  155. downloadname = "预防性维修导入模板.xlsx";
  156. url = "static/template/reliability/preventivemaintenance.xlsx";
  157. } else if( type.equals("pipe") ) {
  158. downloadname = "管线清单导入模板.xlsx";
  159. url = "static/template/cui/pipe.xlsx";
  160. } else if( type.equals("pvessel") ) {
  161. downloadname = "容器清单导入模板.xlsx";
  162. url = "static/template/cui/pvessel.xlsx";
  163. } else if( type.equals("problems") ) {
  164. downloadname = "CUI问题整改跟踪清单导入模板.xlsx";
  165. url = "static/template/cui/problems.xlsx";
  166. } else if( type.equals("eyewasher") ) {
  167. downloadname = "洗眼器导入模板.xlsx";
  168. url = "static/template/ehs/eyewasher.xlsx";
  169. } else if( type.equals("firehose") ) {
  170. downloadname = "消防水带箱导入模板.xlsx";
  171. url = "static/template/ehs/firehose.xlsx";
  172. } else if( type.equals("firehydrant") ) {
  173. downloadname = "消防栓导入模板.xlsx";
  174. url = "static/template/ehs/firehydrant.xlsx";
  175. } else if( type.equals("highpresfire") ) {
  176. downloadname = "高压消防炮导入模板.xlsx";
  177. url = "static/template/ehs/highpresfire.xlsx";
  178. } else if( type.equals("fireextinguisher") ) {
  179. downloadname = "灭火器导入模板.xlsx";
  180. url = "static/template/ehs/fireextinguisher.xlsx";
  181. } else if( type.equals("autosprinkler") ) {
  182. downloadname = "自动喷淋系统导入模板.xlsx";
  183. url = "static/template/ehs/autosprinkler.xlsx";
  184. } else if( type.equals("firestandpipe") ) {
  185. downloadname = "消防竖管导入模板.xlsx";
  186. url = "static/template/ehs/firestandpipe.xlsx";
  187. } else if( type.equals("safetyapproval") ) {
  188. downloadname = "安全批文清单导入模板.xlsx";
  189. url = "static/template/ehs/safetyapproval.xlsx";
  190. } else if( type.equals("fireapproval") ) {
  191. downloadname = "消防批文清单导入模板.xlsx";
  192. url = "static/template/ehs/fireapproval.xlsx";
  193. } else if( type.equals("environapproval") ) {
  194. downloadname = "环保批文清单导入模板.xlsx";
  195. url = "static/template/ehs/environapproval.xlsx";
  196. } else if( type.equals("healthapproval") ) {
  197. downloadname = "卫生批文清单导入模板.xlsx";
  198. url = "static/template/ehs/healthapproval.xlsx";
  199. } else if( type.equals("safetyapprcont") ) {
  200. downloadname = "安全批文主要内容导入模板.xlsx";
  201. url = "static/template/ehs/safetyapprcont.xlsx";
  202. } else if( type.equals("environapprcont") ) {
  203. downloadname = "环保批文主要内容导入模板.xlsx";
  204. url = "static/template/ehs/environapprcont.xlsx";
  205. } else if( type.equals("jobticket") ) {
  206. downloadname = "工作票导入模板.xlsx";
  207. url = "static/template/ehs/jobticket.xlsx";
  208. } else if( type.equals("msds") ) {
  209. downloadname = "MSDS管理导入模板.xlsx";
  210. url = "static/template/ehs/msds.xlsx";
  211. } else if( type.equals("incidentRecords") ) {
  212. downloadname = "事故报告清单导入模板.xlsx";
  213. url = "static/template/ehs/incidentRecords.xlsx";
  214. } else if( type.equals("water") ) {
  215. downloadname = "废水风险评估导入模板.xlsx";
  216. url = "static/template/ehs/water.xlsx";
  217. } else if( type.equals("danger") ) {
  218. downloadname = "危险废物清单导入模板.xlsx";
  219. url = "static/template/ehs/danger.xlsx";
  220. } else if( type.equals("dangermonth") ) {
  221. downloadname = "危险废物出入库月报导入模板.xlsx";
  222. url = "static/template/ehs/dangermonth.xlsx";
  223. } else if( type.equals("barrelmonth") ) {
  224. downloadname = "废桶进出库统计日报导入模板.xlsx";
  225. url = "static/template/ehs/barrelmonth.xlsx";
  226. } else if( type.equals("dangerday") ) {
  227. downloadname = "危废出入库统计日报导入模板.xlsx";
  228. url = "static/template/ehs/dangerday.xlsx";
  229. } else if( type.equals("workcertificate") ) {
  230. downloadname = "作业证书一览表导入模板.xlsx";
  231. url = "static/template/training/workcertificate.xlsx";
  232. } else if( type.equals("byxworkcertificate") ) {
  233. downloadname = "苯乙烯作业证书一览表导入模板.xlsx";
  234. url = "static/template/training/byxworkcertificate.xlsx";
  235. } else if( type.equals("worklicense") ) {
  236. downloadname = "上岗证一览表导入模板.xlsx";
  237. url = "static/template/training/worklicense.xlsx";
  238. } else if( type.equals("trainingrecords") ) {
  239. downloadname = "培训成绩导入模板.xlsx";
  240. url = "static/template/training/trainingrecords.xlsx";
  241. } else if( type.equals("training") ) {
  242. downloadname = "培训计划执行及跟踪导入模板.xlsx";
  243. url = "static/template/training/training.xlsx";
  244. } else if( type.equals("skillevaluation") ) {
  245. downloadname = "岗位人员技能评估导入模板.xlsx";
  246. url = "static/template/training/skillevaluation.xlsx";
  247. } else if( type.equals("newemployee") ) {
  248. downloadname = "新员工培训导入模板.xlsx";
  249. url = "static/template/training/newemployee.xlsx";
  250. }else if( type.equals("companyLevelRecord") ) {
  251. downloadname = "公司培训成绩导入模板.xlsx";
  252. url = "static/template/training/companyLevelRecord.xlsx";
  253. } else if( type.equals("targetlist") ) {
  254. downloadname = "目标录入导入模板.xlsm";
  255. url = "static/template/plant/targetlist.xlsm";
  256. } else if( type.equals("targetreview") ) {
  257. downloadname = "目标回顾导入模板.xlsx";
  258. url = "static/template/plant/targetreview.xlsx";
  259. } else if( type.equals("manageactivity") ) {
  260. downloadname = "管理活动抽查导入模板.xlsx";
  261. url = "static/template/plant/manageactivity.xlsx";
  262. } else if( type.equals("awardrecord") ) {
  263. downloadname = "人员嘉奖记录导入模板.xlsx";
  264. url = "static/template/plant/awardrecord.xlsx";
  265. } else if( type.equals("staffmgr") ) {
  266. downloadname = "人员信息导入模板.xlsx";
  267. url = "static/template/plant/staffmgr.xlsx";
  268. } else if( type.equals("specYlrq") ) {
  269. downloadname = "压力容器导入模板.xlsx";
  270. url = "static/template/sems/specYlrq.xlsx";
  271. } else if( type.equals("specYlgd") ) {
  272. downloadname = "压力管道导入模板.xlsx";
  273. url = "static/template/sems/specYlgd.xlsx";
  274. }else if( type.equals("specGl") ) {
  275. downloadname = "锅炉导入模板.xlsx";
  276. url = "static/template/sems/specGl.xlsx";
  277. }else if( type.equals("specDzsb") ) {
  278. downloadname = "起重机械导入模板.xlsx";
  279. url = "static/template/sems/specDzsb.xlsx";
  280. }else if( type.equals("specCc") ) {
  281. downloadname = "叉车导入模板.xlsx";
  282. url = "static/template/sems/specCc.xlsx";
  283. }else if( type.equals("specDt") ) {
  284. downloadname = "电梯导入模板.xlsx";
  285. url = "static/template/sems/specDt.xlsx";
  286. }else if( type.equals("reportYlrq") ) {
  287. downloadname = "压力容器年检报告批量导入更新模板.xlsx";
  288. url = "static/template/sems/reportYlrq.xlsx";
  289. }else if( type.equals("reportYlgd") ) {
  290. downloadname = "压力管道年检报告批量导入更新模板.xlsx";
  291. url = "static/template/sems/reportYlgd.xlsx";
  292. }else if( type.equals("thickness") ) {
  293. downloadname = "定点测厚批量导入更新模板.xlsx";
  294. url = "static/template/sems/thickness.xlsx";
  295. }else if( type.equals("thicknessData") ) {
  296. downloadname = "定点测厚数据导入模板.xlsx";
  297. url = "static/template/sems/thicknessData.xlsx";
  298. }else if( type.equals("applyLock") ) {
  299. downloadname = "锁开锁关导入模板.xlsx";
  300. url = "static/template/apply/applyLock.xlsx";
  301. }
  302. InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(url);
  303. downloadFile(downloadname, is, request, response);
  304. }
  305. /**
  306. * 通用下载请求
  307. *
  308. * @param fileName 文件名称
  309. * @param delete 是否删除
  310. */
  311. @GetMapping("common/download")
  312. public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
  313. {
  314. try
  315. {
  316. if (!FileUtils.isValidFilename(fileName))
  317. {
  318. throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
  319. }
  320. String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
  321. String filePath = RuoYiConfig.getDownloadPath() + fileName;
  322. response.setCharacterEncoding("utf-8");
  323. response.setContentType("multipart/form-data");
  324. response.setHeader("Content-Disposition",
  325. "attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
  326. FileUtils.writeBytes(filePath, response.getOutputStream());
  327. if (delete)
  328. {
  329. FileUtils.deleteFile(filePath);
  330. }
  331. }
  332. catch (Exception e)
  333. {
  334. log.error("下载文件失败", e);
  335. }
  336. }
  337. /**
  338. * 通用上传请求
  339. */
  340. @PostMapping("/common/upload")
  341. public AjaxResult uploadFile(MultipartFile file) throws Exception
  342. {
  343. try
  344. {
  345. // 上传文件路径
  346. String filePath = RuoYiConfig.getUploadPath();
  347. // 上传并返回新文件名称
  348. String fileName = FileUploadUtils.upload(filePath, file);
  349. String url = serverConfig.getUrl() + fileName;
  350. logger.info("url:" + url);
  351. AjaxResult ajax = AjaxResult.success();
  352. ajax.put("fileName", fileName);
  353. ajax.put("url", url);
  354. return ajax;
  355. }
  356. catch (Exception e)
  357. {
  358. return AjaxResult.error(e.getMessage());
  359. }
  360. }
  361. /**
  362. * 本地资源通用下载
  363. */
  364. @GetMapping("/common/download/resource")
  365. public void resourceDownload(String name, HttpServletRequest request, HttpServletResponse response) throws Exception
  366. {
  367. // 本地资源路径
  368. String localPath = RuoYiConfig.getProfile();
  369. // 数据库资源地址
  370. String downloadPath = localPath + StringUtils.substringAfter(name, Constants.RESOURCE_PREFIX);
  371. // 下载名称
  372. String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
  373. response.setCharacterEncoding("utf-8");
  374. response.setContentType("multipart/form-data");
  375. response.setHeader("Content-Disposition",
  376. "attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
  377. FileUtils.writeBytes(downloadPath, response.getOutputStream());
  378. }
  379. public static void downloadFile(String filename, InputStream is, HttpServletRequest request, HttpServletResponse response) throws IOException {
  380. response.reset();
  381. if (filename.endsWith(".doc") || filename.endsWith(".docx")) {
  382. response.setContentType("application/msword;charset=utf-8");
  383. } else if (filename.endsWith(".xls") || filename.endsWith(".xlsx")) {
  384. response.setContentType("application/vnd.ms-excel;charset=utf-8");
  385. } else {
  386. response.setHeader("content-type", "application/octet-stream");
  387. }
  388. //下载文件的名称
  389. response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"), "iso-8859-1"));
  390. request.setCharacterEncoding("UTF-8");
  391. ServletOutputStream out = null;
  392. BufferedInputStream bis = null;
  393. BufferedOutputStream bos = null;
  394. try {
  395. out = response.getOutputStream();
  396. bis = new BufferedInputStream(is);
  397. bos = new BufferedOutputStream(out);
  398. byte[] buff = new byte[2048];
  399. int bytesRead;
  400. while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
  401. bos.write(buff, 0, bytesRead);
  402. }
  403. } catch (IOException e) {
  404. e.printStackTrace();
  405. } finally {
  406. try {
  407. if (bis != null) {
  408. bis.close();
  409. }
  410. if (bos != null) {
  411. bos.close();
  412. }
  413. if (is != null) {
  414. is.close();
  415. }
  416. } catch (IOException e) {
  417. e.printStackTrace();
  418. }
  419. }
  420. }
  421. // @RequestMapping("/common/download/exportDevList")
  422. // public ModelAndView exportbmy(@RequestParam Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) throws ParseException {
  423. // logger.info(JSON.toJSONString(params));
  424. // String id = (String) params.get("ids");
  425. // int devType = Integer.parseInt((String) params.get("devType"));
  426. // String[] ids = id.split(",");
  427. // logger.info("ids" + ids);
  428. // int downloadType = Integer.parseInt((String) params.get("downloadType"));
  429. // logger.info("downloadType" + downloadType);
  430. // List<Object> list = new ArrayList<>();
  431. // switch (devType) {
  432. // case 1:
  433. // for (String i : ids
  434. // ) {
  435. // TSpecdevYlrq ylrqEntity = tSpecdevYlrqService.getById(i);
  436. // list.add(ylrqEntity);
  437. // }
  438. // break;
  439. // case 2:
  440. // for (String i : ids
  441. // ) {
  442. // TSpecdevYlgd ylgdEntity = tSpecdevYlgdService.getById(i);
  443. // list.add(ylgdEntity);
  444. // }
  445. // break;
  446. // case 3:
  447. // for (String i : ids
  448. // ) {
  449. // TSpecdevDzsb dzsbEntity = tSpecdevDzsbService.getById(i);
  450. // list.add(dzsbEntity);
  451. // }
  452. // break;
  453. // case 4:
  454. // for (String i : ids
  455. // ) {
  456. // TSpecdevGl glEntity = tSpecdevGlService.getById(i);
  457. // list.add(glEntity);
  458. // }
  459. // break;
  460. // case 5:
  461. // for (String i : ids
  462. // ) {
  463. // TSpecdevDt dtEntity = tSpecdevDtService.getById(i);
  464. // list.add(dtEntity);
  465. // }
  466. // break;
  467. // case 6:
  468. // for (String i : ids
  469. // ) {
  470. // TSpecdevCc ccEntity = tSpecdevCcService.getById(i);
  471. // list.add(ccEntity);
  472. // }
  473. // break;
  474. // case 7:
  475. //// for (String i : ids
  476. //// ) {
  477. //// TOtherTankEntity tankEntity = tOtherTankService.getById(i);
  478. //// list.add(tankEntity);
  479. //// }
  480. // }
  481. // if(devType == 1 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_YLRQ_UPDATE, list)); }
  482. // else if(devType == 2 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_YLGD_UPDATE, list)); }
  483. // else if(devType == 3 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_DZSB_UPDATE, list)); }
  484. // else if(devType == 4 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_GL_UPDATE, list)); }
  485. // else if(devType == 5 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_DT_UPDATE, list)); }
  486. // else if(devType == 6 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_CC_UPDATE, list)); }
  487. // return null;
  488. // }
  489. @GetMapping("/common/download/exportDevList")
  490. public AjaxResult exportbmy(TSpecdevGl tSpecdevGl) throws IOException {
  491. logger.info("kaishi");
  492. SXSSFWorkbook wb = new SXSSFWorkbook(1000);
  493. CellStyle wrapStyle = wb.createCellStyle();
  494. wrapStyle.setWrapText(true); //设置自动换行
  495. //创建sheet页
  496. Sheet sheet = wb.createSheet("sheetName");
  497. //设置列的宽度,第一个参数为列的序号,从0开始,第二参数为列宽,单位1/256个字节
  498. sheet.setColumnWidth(0, 12*256);
  499. sheet.setColumnWidth(2, 16*256);
  500. sheet.setColumnWidth(5, 12*256);
  501. sheet.setColumnWidth(6, 26*256);
  502. sheet.setColumnWidth(7, 26*256);
  503. //设置开始行和开始列
  504. int rowIndex = 0;
  505. int columnIndex = 0;
  506. Row row = sheet.createRow(rowIndex);
  507. OutputStream out = null;
  508. String filename = encodingFilename("sheetName");
  509. out = new FileOutputStream(getAbsoluteFile(filename));
  510. wb.write(out);
  511. wb.close();
  512. out.close();
  513. return AjaxResult.success(filename);
  514. }
  515. /**
  516. * 编码文件名
  517. */
  518. public String encodingFilename(String filename)
  519. {
  520. filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx";
  521. return filename;
  522. }
  523. /**
  524. * 获取下载路径
  525. *
  526. * @param filename 文件名称
  527. */
  528. public String getAbsoluteFile(String filename)
  529. {
  530. String downloadPath = RuoYiConfig.getDownloadPath() + filename;
  531. File desc = new File(downloadPath);
  532. if (!desc.getParentFile().exists())
  533. {
  534. desc.getParentFile().mkdirs();
  535. }
  536. return downloadPath;
  537. }
  538. }