123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471 |
- package com.ruoyi.project.common;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.alibaba.fastjson.JSON;
- import com.ruoyi.common.utils.export.JxlsTemplateEnum;
- import com.ruoyi.common.utils.export.JxlsView;
- import com.ruoyi.framework.web.controller.BaseController;
- import com.ruoyi.project.sems.domain.*;
- import com.ruoyi.project.sems.service.*;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import com.ruoyi.common.constant.Constants;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.common.utils.file.FileUploadUtils;
- import com.ruoyi.common.utils.file.FileUtils;
- import com.ruoyi.framework.config.RuoYiConfig;
- import com.ruoyi.framework.config.ServerConfig;
- import com.ruoyi.framework.web.domain.AjaxResult;
- import org.springframework.web.servlet.ModelAndView;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.text.ParseException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * 通用请求处理
- *
- * @author ruoyi
- */
- @RestController
- public class CommonController extends BaseController
- {
- private static final Logger log = LoggerFactory.getLogger(CommonController.class);
- @Autowired
- private ServerConfig serverConfig;
- @Autowired
- private ITSpecdevYlrqService tSpecdevYlrqService;
- @Autowired
- private ITSpecdevYlgdService tSpecdevYlgdService;
- @Autowired
- private ITSpecdevGlService tSpecdevGlService;
- @Autowired
- private ITSpecdevDzsbService tSpecdevDzsbService;
- @Autowired
- private ITSpecdevDtService tSpecdevDtService;
- @Autowired
- private ITSpecdevCcService tSpecdevCcService;
- /**
- * 导入下载模板
- */
- @RequestMapping("common/template")
- @ResponseBody
- public void template(String type,HttpServletRequest request, HttpServletResponse response) throws IOException
- {
- String downloadname = "";
- String url = "";
- if ( type.equals("alarmmodify") ) {
- downloadname = "报警值管理导入模板.xlsx";
- url = "static/template/process/alarmmodify.xlsx";
- } else if( type.equals("publicdoc") ) {
- downloadname = "公共文档管理导入模板.xlsx";
- url = "static/template/document/publicdoc.xlsx";
- } else if( type.equals("publicdocmenu") ) {
- downloadname = "公共文档目录管理导入模板.xlsx";
- url = "static/template/document/publicdocmenu.xlsx";
- } else if( type.equals("moc") ) {
- downloadname = "MOC管理导入模板.xlsx";
- url = "static/template/process/moc.xlsx";
- } else if( type.equals("accident") ) {
- downloadname = "隐患排查导入模板.xlsx";
- url = "static/template/production/accident.xlsx";
- } else if( type.equals("blind") ) {
- downloadname = "盲板清单导入模板.xlsx";
- url = "static/template/production/blind.xlsx";
- } else if( type.equals("我的机器") ) {
- downloadname = "5S管理我的机器导入模板.xlsx";
- url = "static/template/production/wsglmachine.xlsx";
- } else if( type.equals("我的区域") ) {
- downloadname = "5S管理我的区域导入模板.xlsx";
- url = "static/template/production/wsglarea.xlsx";
- } else if( type.equals("day") ) {
- downloadname = "报警统计(昨天)导入模板.xlsx";
- url = "static/template/production/alarmstatistics.xlsx";
- } else if( type.equals("month") ) {
- downloadname = "报警统计(上月)导入模板.xlsx";
- url = "static/template/production/alarmstatistics.xlsx";
- } else if( type.equals("lbnhjstj") ) {
- downloadname = "能耗管理统计导入模板.xlsx";
- url = "static/template/production/lbnhjstj.xlsx";
- } else if( type.equals("rcaudit") ) {
- downloadname = "RC审计助手导入模板.xlsx";
- url = "static/template/ehs/rcaudit.xlsx";
- } else if( type.equals("rcauditmenu") ) {
- downloadname = "RC审计助手目录导入模板.xlsx";
- url = "static/template/ehs/rcauditmenu.xlsx";
- } else if( type.equals("plantproglistprocedure") ) {
- downloadname = "装置程序清单程序总汇导入模板.xlsx";
- url = "static/template/document/plantproglistprocedure.xlsx";
- } else if( type.equals("plantproglistform") ) {
- downloadname = "装置程序清单表格总汇导入模板.xlsx";
- url = "static/template/document/plantproglistform.xlsx";
- } else if( type.equals("plantproglistguide") ) {
- downloadname = "装置程序清单指南总汇导入模板.xlsx";
- url = "static/template/document/plantproglistguide.xlsx";
- } else if( type.equals("plantproglistbook") ) {
- downloadname = "装置程序清单指导书总汇导入模板.xlsx";
- url = "static/template/document/plantproglistbook.xlsx";
- } else if( type.equals("plantproglistannex") ) {
- downloadname = "装置程序清单附件总汇导入模板.xlsx";
- url = "static/template/document/plantproglistannex.xlsx";
- } else if( type.equals("plantproglistmaterials") ) {
- downloadname = "装置程序清单培训材料导入模板.xlsx";
- url = "static/template/document/plantproglistmaterials.xlsx";
- } else if( type.equals("officesupply") ) {
- downloadname = "办公用品管理导入模板.xlsx";
- url = "static/template/affair/officesupply.xlsx";
- } else if( type.equals("ppe") ) {
- downloadname = "PPE发放登记导入模板.xlsx";
- url = "static/template/affair/ppe.xlsx";
- } else if( type.equals("intercom") ) {
- downloadname = "对讲机管理导入模板.xlsx";
- url = "static/template/affair/intercom.xlsx";
- } else if( type.equals("kkxglcs") ) {
- downloadname = "可靠性管理措施导入模板.xlsx";
- url = "static/template/reliability/kkxglcs.xlsx";
- } else if( type.equals("original") ) {
- downloadname = "故障管理初选导入模板.xlsx";
- url = "static/template/reliability/original.xlsx";
- } else if( type.equals("abnormalreport") ) {
- downloadname = "异常报告管理导入模板.xlsx";
- url = "static/template/reliability/abnormalreport.xlsx";
- } else if( type.equals("assetlist") ) {
- downloadname = "资产清单导入模板.xlsx";
- url = "static/template/reliability/assetlist.xlsx";
- } else if( type.equals("safetyvavle") ) {
- downloadname = "安全阀清单导入模板.xlsx";
- url = "static/template/reliability/safetyvavle.xlsx";
- } else if( type.equals("preventivemaintenance") ) {
- downloadname = "预防性维修导入模板.xlsx";
- url = "static/template/reliability/preventivemaintenance.xlsx";
- } else if( type.equals("pipe") ) {
- downloadname = "管线清单导入模板.xlsx";
- url = "static/template/cui/pipe.xlsx";
- } else if( type.equals("pvessel") ) {
- downloadname = "容器清单导入模板.xlsx";
- url = "static/template/cui/pvessel.xlsx";
- } else if( type.equals("problems") ) {
- downloadname = "CUI问题整改跟踪清单导入模板.xlsx";
- url = "static/template/cui/problems.xlsx";
- } else if( type.equals("eyewasher") ) {
- downloadname = "洗眼器导入模板.xlsx";
- url = "static/template/ehs/eyewasher.xlsx";
- } else if( type.equals("firehose") ) {
- downloadname = "消防水带箱导入模板.xlsx";
- url = "static/template/ehs/firehose.xlsx";
- } else if( type.equals("firehydrant") ) {
- downloadname = "消防栓导入模板.xlsx";
- url = "static/template/ehs/firehydrant.xlsx";
- } else if( type.equals("highpresfire") ) {
- downloadname = "高压消防炮导入模板.xlsx";
- url = "static/template/ehs/highpresfire.xlsx";
- } else if( type.equals("fireextinguisher") ) {
- downloadname = "灭火器导入模板.xlsx";
- url = "static/template/ehs/fireextinguisher.xlsx";
- } else if( type.equals("autosprinkler") ) {
- downloadname = "自动喷淋系统导入模板.xlsx";
- url = "static/template/ehs/autosprinkler.xlsx";
- } else if( type.equals("firestandpipe") ) {
- downloadname = "消防竖管导入模板.xlsx";
- url = "static/template/ehs/firestandpipe.xlsx";
- } else if( type.equals("safetyapproval") ) {
- downloadname = "安全批文清单导入模板.xlsx";
- url = "static/template/ehs/safetyapproval.xlsx";
- } else if( type.equals("fireapproval") ) {
- downloadname = "消防批文清单导入模板.xlsx";
- url = "static/template/ehs/fireapproval.xlsx";
- } else if( type.equals("environapproval") ) {
- downloadname = "环保批文清单导入模板.xlsx";
- url = "static/template/ehs/environapproval.xlsx";
- } else if( type.equals("safetyapprcont") ) {
- downloadname = "安全批文主要内容导入模板.xlsx";
- url = "static/template/ehs/safetyapprcont.xlsx";
- } else if( type.equals("environapprcont") ) {
- downloadname = "环保批文主要内容导入模板.xlsx";
- url = "static/template/ehs/environapprcont.xlsx";
- } else if( type.equals("jobticket") ) {
- downloadname = "工作票导入模板.xlsx";
- url = "static/template/ehs/jobticket.xlsx";
- } else if( type.equals("msds") ) {
- downloadname = "MSDS管理导入模板.xlsx";
- url = "static/template/ehs/msds.xlsx";
- } else if( type.equals("water") ) {
- downloadname = "废水风险评估导入模板.xlsx";
- url = "static/template/ehs/water.xlsx";
- } else if( type.equals("danger") ) {
- downloadname = "危险废物清单导入模板.xlsx";
- url = "static/template/ehs/danger.xlsx";
- } else if( type.equals("dangermonth") ) {
- downloadname = "危险废物出入库月报导入模板.xlsx";
- url = "static/template/ehs/dangermonth.xlsx";
- } else if( type.equals("barrelmonth") ) {
- downloadname = "废桶进出库统计日报导入模板.xlsx";
- url = "static/template/ehs/barrelmonth.xlsx";
- } else if( type.equals("dangerday") ) {
- downloadname = "危废出入库统计日报导入模板.xlsx";
- url = "static/template/ehs/dangerday.xlsx";
- } else if( type.equals("workcertificate") ) {
- downloadname = "作业证书一览表导入模板.xlsx";
- url = "static/template/training/workcertificate.xlsx";
- } else if( type.equals("worklicense") ) {
- downloadname = "上岗证一览表导入模板.xlsx";
- url = "static/template/training/worklicense.xlsx";
- } else if( type.equals("trainingrecords") ) {
- downloadname = "培训成绩导入模板.xlsx";
- url = "static/template/training/trainingrecords.xlsx";
- } else if( type.equals("training") ) {
- downloadname = "培训计划执行及跟踪导入模板.xlsx";
- url = "static/template/training/training.xlsx";
- } else if( type.equals("skillevaluation") ) {
- downloadname = "岗位人员技能评估导入模板.xlsx";
- url = "static/template/training/skillevaluation.xlsx";
- } else if( type.equals("newemployee") ) {
- downloadname = "新员工培训导入模板.xlsx";
- url = "static/template/training/newemployee.xlsx";
- } else if( type.equals("targetlist") ) {
- downloadname = "目标录入导入模板.xlsx";
- url = "static/template/plant/targetlist.xlsx";
- } else if( type.equals("targetreview") ) {
- downloadname = "目标回顾导入模板.xlsx";
- url = "static/template/plant/targetreview.xlsx";
- } else if( type.equals("manageactivity") ) {
- downloadname = "管理活动抽查导入模板.xlsx";
- url = "static/template/plant/manageactivity.xlsx";
- } else if( type.equals("awardrecord") ) {
- downloadname = "人员嘉奖记录导入模板.xlsx";
- url = "static/template/plant/awardrecord.xlsx";
- } else if( type.equals("staffmgr") ) {
- downloadname = "人员信息导入模板.xlsx";
- url = "static/template/plant/staffmgr.xlsx";
- } else if( type.equals("specYlrq") ) {
- downloadname = "压力容器导入模板.xlsx";
- url = "static/template/sems/specYlrq.xlsx";
- } else if( type.equals("specYlgd") ) {
- downloadname = "压力管道导入模板.xlsx";
- url = "static/template/sems/specYlgd.xlsx";
- }else if( type.equals("specGl") ) {
- downloadname = "锅炉导入模板.xlsx";
- url = "static/template/sems/specGl.xlsx";
- }else if( type.equals("specDzsb") ) {
- downloadname = "起重机械导入模板.xlsx";
- url = "static/template/sems/specDzsb.xlsx";
- }else if( type.equals("specCc") ) {
- downloadname = "叉车导入模板.xlsx";
- url = "static/template/sems/specCc.xlsx";
- }else if( type.equals("specDt") ) {
- downloadname = "电梯导入模板.xlsx";
- url = "static/template/sems/specDt.xlsx";
- }else if( type.equals("reportYlrq") ) {
- downloadname = "压力容器年检报告批量导入更新模板.xlsx";
- url = "static/template/sems/reportYlrq.xlsx";
- }
- InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(url);
- downloadFile(downloadname, is, request, response);
- }
- /**
- * 通用下载请求
- *
- * @param fileName 文件名称
- * @param delete 是否删除
- */
- @GetMapping("common/download")
- public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
- {
- try
- {
- if (!FileUtils.isValidFilename(fileName))
- {
- throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
- }
- String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
- String filePath = RuoYiConfig.getDownloadPath() + fileName;
- response.setCharacterEncoding("utf-8");
- response.setContentType("multipart/form-data");
- response.setHeader("Content-Disposition",
- "attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
- FileUtils.writeBytes(filePath, response.getOutputStream());
- if (delete)
- {
- FileUtils.deleteFile(filePath);
- }
- }
- catch (Exception e)
- {
- log.error("下载文件失败", e);
- }
- }
- /**
- * 通用上传请求
- */
- @PostMapping("/common/upload")
- public AjaxResult uploadFile(MultipartFile file) throws Exception
- {
- try
- {
- // 上传文件路径
- String filePath = RuoYiConfig.getUploadPath();
- // 上传并返回新文件名称
- String fileName = FileUploadUtils.upload(filePath, file);
- String url = serverConfig.getUrl() + fileName;
- logger.info("url:" + url);
- AjaxResult ajax = AjaxResult.success();
- ajax.put("fileName", fileName);
- ajax.put("url", url);
- return ajax;
- }
- catch (Exception e)
- {
- return AjaxResult.error(e.getMessage());
- }
- }
- /**
- * 本地资源通用下载
- */
- @GetMapping("/common/download/resource")
- public void resourceDownload(String name, HttpServletRequest request, HttpServletResponse response) throws Exception
- {
- // 本地资源路径
- String localPath = RuoYiConfig.getProfile();
- // 数据库资源地址
- String downloadPath = localPath + StringUtils.substringAfter(name, Constants.RESOURCE_PREFIX);
- // 下载名称
- String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
- response.setCharacterEncoding("utf-8");
- response.setContentType("multipart/form-data");
- response.setHeader("Content-Disposition",
- "attachment;fileName=" + FileUtils.setFileDownloadHeader(request, downloadName));
- FileUtils.writeBytes(downloadPath, response.getOutputStream());
- }
- public static void downloadFile(String filename, InputStream is, HttpServletRequest request, HttpServletResponse response) throws IOException {
- response.reset();
- if (filename.endsWith(".doc") || filename.endsWith(".docx")) {
- response.setContentType("application/msword;charset=utf-8");
- } else if (filename.endsWith(".xls") || filename.endsWith(".xlsx")) {
- response.setContentType("application/vnd.ms-excel;charset=utf-8");
- } else {
- response.setHeader("content-type", "application/octet-stream");
- }
- //下载文件的名称
- response.setHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"), "iso-8859-1"));
- request.setCharacterEncoding("UTF-8");
- ServletOutputStream out = null;
- BufferedInputStream bis = null;
- BufferedOutputStream bos = null;
- try {
- out = response.getOutputStream();
- bis = new BufferedInputStream(is);
- bos = new BufferedOutputStream(out);
- byte[] buff = new byte[2048];
- int bytesRead;
- while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
- bos.write(buff, 0, bytesRead);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (bis != null) {
- bis.close();
- }
- if (bos != null) {
- bos.close();
- }
- if (is != null) {
- is.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- @RequestMapping("/common/download/exportDevList")
- public ModelAndView exportbmy(@RequestParam Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) throws ParseException {
- logger.info(JSON.toJSONString(params));
- String id = (String) params.get("ids");
- int devType = Integer.parseInt((String) params.get("devType"));
- String[] ids = id.split(",");
- logger.info("ids" + ids);
- int downloadType = Integer.parseInt((String) params.get("downloadType"));
- logger.info("downloadType" + downloadType);
- List<Object> list = new ArrayList<>();
- switch (devType) {
- case 1:
- for (String i : ids
- ) {
- TSpecdevYlrq ylrqEntity = tSpecdevYlrqService.getById(i);
- list.add(ylrqEntity);
- }
- break;
- case 2:
- for (String i : ids
- ) {
- TSpecdevYlgd ylgdEntity = tSpecdevYlgdService.getById(i);
- list.add(ylgdEntity);
- }
- break;
- case 3:
- for (String i : ids
- ) {
- TSpecdevDzsb dzsbEntity = tSpecdevDzsbService.getById(i);
- list.add(dzsbEntity);
- }
- break;
- case 4:
- for (String i : ids
- ) {
- TSpecdevGl glEntity = tSpecdevGlService.getById(i);
- list.add(glEntity);
- }
- break;
- case 5:
- for (String i : ids
- ) {
- TSpecdevDt dtEntity = tSpecdevDtService.getById(i);
- list.add(dtEntity);
- }
- break;
- case 6:
- for (String i : ids
- ) {
- TSpecdevCc ccEntity = tSpecdevCcService.getById(i);
- list.add(ccEntity);
- }
- break;
- case 7:
- // for (String i : ids
- // ) {
- // TOtherTankEntity tankEntity = tOtherTankService.getById(i);
- // list.add(tankEntity);
- // }
- }
- if(devType == 1 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_YLRQ_UPDATE, list)); }
- else if(devType == 2 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_YLGD_UPDATE, list)); }
- else if(devType == 3 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_DZSB_UPDATE, list)); }
- else if(devType == 4 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_GL_UPDATE, list)); }
- else if(devType == 5 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_DT_UPDATE, list)); }
- else if(devType == 6 && downloadType == 2){ return new ModelAndView(new JxlsView(JxlsTemplateEnum.DEV_CC_UPDATE, list)); }
- return null;
- }
- }
|