package com.zcloud.controller.emergency; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.service.emergency.EmergencyDrillReportService; import com.zcloud.util.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletResponse; import java.util.*; /** * 说明:应急总结评估 * 作者:luoxiaobao * 时间:2021-06-20 * 官网:www.zcloudchina.com */ @Controller @RequestMapping("/emergencydrillreport") public class EmergencyDrillReportController extends BaseController { @Value("${http.file.url}") private String fileUrl; @Autowired private EmergencyDrillReportService emergencydrillreportService; /**新增 * @param * @throws Exception */ @RequestMapping(value="/add") @RequiresPermissions("emergencydrillbasic:add") @ResponseBody public Object add(@RequestParam(value="file",required=false) MultipartFile file) throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("EMERGENCYDRILLREPORT_ID", this.get32UUID()); //主键 pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 pd.put("ISDELETE", "0"); //是否删除 1-是 0-否 pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID if (null != file && !file.isEmpty()) { String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) { errInfo = "fail"; map.put("result", errInfo); map.put("msg", "文件格式不正确!"); return map; } String ffile = DateUtil.getDays(); //本地 // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 //服务器 String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(file, fileName, Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("DRILL_REPORT_FILE_NAME", file.getOriginalFilename()); pd.put("DRILL_REPORT_FILE_PATH", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } emergencydrillreportService.save(pd); map.put("pd", pd); map.put("result", errInfo); return map; } /**删除 * @param * @throws Exception */ @RequestMapping(value="/delete") @RequiresPermissions("emergencydrillbasic:del") @ResponseBody public Object delete() throws Exception{ Map<String,String> map = new HashMap<String,String>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 emergencydrillreportService.delete(pd); map.put("result", errInfo); //返回结果 return map; } /**修改 * @param * @throws Exception */ @RequestMapping(value="/edit") @RequiresPermissions("emergencydrillbasic:edit") @ResponseBody public Object edit(@RequestParam(value="file",required=false) MultipartFile file) throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 if (null != file && !file.isEmpty()) { String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) { errInfo = "fail"; map.put("result", errInfo); map.put("msg", "文件格式不正确!"); return map; } String ffile = DateUtil.getDays(); //本地 // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 //服务器 String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(file, fileName, Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("DRILL_REPORT_FILE_NAME", file.getOriginalFilename()); pd.put("DRILL_REPORT_FILE_PATH", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } emergencydrillreportService.edit(pd); map.put("pd", pd); map.put("result", errInfo); return map; } /**列表 * @param page * @throws Exception */ @RequestMapping(value="/list") @RequiresPermissions("emergencydrillbasic:list") @ResponseBody public Object list(Page page) throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID page.setPd(pd); List<PageData> varList = emergencydrillreportService.list(page); //列出EmergencyDrillReport列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEdit") @RequiresPermissions("emergencydrillbasic:edit") @ResponseBody public Object goEdit() throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = emergencydrillreportService.findById(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**批量删除 * @param * @throws Exception */ @RequestMapping(value="/deleteAll") @RequiresPermissions("emergencydrillbasic:del") @ResponseBody public Object deleteAll() throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 String DATA_IDS = pd.getString("DATA_IDS"); if(Tools.notEmpty(DATA_IDS)){ String ArrayDATA_IDS[] = DATA_IDS.split(","); pd.put("ArrayDATA_IDS", ArrayDATA_IDS); //待删除ids emergencydrillreportService.deleteAll(pd); errInfo = "success"; }else{ errInfo = "fail"; } map.put("result", errInfo); //返回结果 return map; } /**导出到excel * @param * @throws Exception */ @RequestMapping(value="/excel") @RequiresPermissions("toExcel") public ModelAndView exportExcel() throws Exception{ ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); Map<String,Object> dataMap = new HashMap<String,Object>(); List<String> titles = new ArrayList<String>(); titles.add("主表ID"); //1 titles.add("总结评估"); //2 titles.add("附件"); //3 titles.add("添加人部门ID"); //4 titles.add("是否删除"); //5 titles.add("修改人"); //6 titles.add("修改时间"); //7 titles.add("添加时间"); //8 titles.add("添加人"); //9 dataMap.put("titles", titles); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID List<PageData> varOList = emergencydrillreportService.listAll(pd); List<PageData> varList = new ArrayList<PageData>(); for(int i=0;i<varOList.size();i++){ PageData vpd = new PageData(); vpd.put("var1", varOList.get(i).getString("EMERGENCYDRILLBASIC_ID")); //1 vpd.put("var2", varOList.get(i).getString("DRILL_REPORT")); //2 vpd.put("var3", varOList.get(i).getString("DRILL_REPORT_FILE_PATH")); //3 vpd.put("var4", varOList.get(i).getString("CREATOR_DEPARTMENT_ID")); //4 vpd.put("var5", varOList.get(i).get("ISDELETE").toString()); //5 vpd.put("var6", varOList.get(i).getString("OPERATOR")); //6 vpd.put("var7", varOList.get(i).getString("OPERATTIME")); //7 vpd.put("var8", varOList.get(i).getString("CREATTIME")); //8 vpd.put("var9", varOList.get(i).getString("CREATOR")); //9 varList.add(vpd); } dataMap.put("varList", varList); ObjectExcelView erv = new ObjectExcelView(); mv = new ModelAndView(erv,dataMap); return mv; } /**下载 * @param response * @throws Exception */ @RequestMapping(value="/download") public void download(HttpServletResponse response) throws Exception { PageData pd = new PageData(); pd = this.getPageData(); try { pd = emergencydrillreportService.findById(pd); String FILENAME = pd.getString("DRILL_REPORT_FILE_NAME"); String FILEPATH = pd.getString("DRILL_REPORT_FILE_PATH"); //本地 // FileDownload.fileDownload(response, PathUtil.getProjectpath() + FILEPATH, FILENAME); //// FileDownload.mfFileDownload(response, this.getRequest().getScheme() + "://" + this.getRequest().getServerName() + ":" + this.getRequest().getServerPort() + FILEPATH, FILENAME); //不好用 //服务器 FileDownload.mfFileDownload(response, fileUrl + FILEPATH, FILENAME); } catch (Exception e) { e.printStackTrace(); throw new Exception("=========文件下载异常:可能要下载的文件已经没有了========="); } } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEditByBasicId") @RequiresPermissions("emergencydrillbasic:edit") @ResponseBody public Object goEditByBasicId() throws Exception{ Map<String,Object> map = new HashMap<String,Object>(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = emergencydrillreportService.goEditByBasicId(pd); //根据应急演练基础信息ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } }