qa-prevention-gwj/src/main/java/com/zcloud/controller/emergency/EmergencyPlanController.java

314 lines
12 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.emergency;
import com.alibaba.fastjson.JSON;
import com.zcloud.aspect.DockAnnotation;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.service.emergency.EmergencyPlanService;
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-19
* 官网www.zcloudchina.com
*/
@Controller
@RequestMapping("/emergencyplan")
public class EmergencyPlanController extends BaseController {
@Value("${http.file.url}")
private String fileUrl;
@Autowired
private EmergencyPlanService emergencyplanService;
/**新增
* @param
* @throws Exception
*/
@RequestMapping(value="/add")
@RequiresPermissions("emergencyplan:add")
@ResponseBody
@DockAnnotation(isAdd = true,hasAnnex = true)
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("EMERGENCYPLAN_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()) {
ArrayList<String> pictureList = new ArrayList<String>();
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);
pictureList.add(Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName + "@@" + fileName);
map.put("sendPicturesList", JSON.toJSONString(pictureList));
pd.put("PLAN_ATTACH_NAME", file.getOriginalFilename());
pd.put("PLAN_ATTACH_IDS", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
}
map.put("dockData", JSON.toJSONString(pd));
emergencyplanService.save(pd);
map.put("result", errInfo);
map.put("pd", pd);
return map;
}
/**删除
* @throws Exception
*/
@RequestMapping(value="/delete")
@RequiresPermissions("emergencyplan:del")
@ResponseBody
@DockAnnotation
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())); //修改时间
map.put("dockData", JSON.toJSONString(pd));
emergencyplanService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**修改
* @param
* @throws Exception
*/
@RequestMapping(value="/edit")
@RequiresPermissions("emergencyplan:edit")
@ResponseBody
@DockAnnotation(hasAnnex = true)
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()) {
ArrayList<String> pictureList = new ArrayList<String>();
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);
pictureList.add(Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName + "@@" + fileName);
map.put("sendPicturesList", JSON.toJSONString(pictureList));
pd.put("PLAN_ATTACH_NAME", file.getOriginalFilename());
pd.put("PLAN_ATTACH_IDS", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
}
map.put("dockData", JSON.toJSONString(pd));
emergencyplanService.edit(pd);
map.put("result", errInfo);
return map;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/list")
@RequiresPermissions("emergencyplan: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 = emergencyplanService.list(page); //列出EmergencyPlan列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**去修改页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/goEdit")
@RequiresPermissions("emergencyplan: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 = emergencyplanService.findById(pd); //根据ID读取
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**批量删除
* @param
* @throws Exception
*/
@RequestMapping(value="/deleteAll")
@RequiresPermissions("emergencyplan:del")
@ResponseBody
@DockAnnotation
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
map.put("dockData", JSON.toJSONString(pd));
emergencyplanService.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("应急预案名称"); //1
titles.add("预案编号"); //2
titles.add("适用领域"); //3
titles.add("预案类别"); //4
titles.add("预案级别"); //5
titles.add("编制单位"); //6
titles.add("编制人"); //7
titles.add("发布日期"); //8
titles.add("发布文号"); //9
titles.add("发布单位"); //10
titles.add("签发人"); //11
titles.add("预案备案状态"); //12
titles.add("预案备案时间"); //13
titles.add("备案接收单位"); //14
titles.add("预案摘要"); //15
// titles.add("备注"); //16
// titles.add("相关附件"); //17
// titles.add("是否删除"); //18
// titles.add("修改人"); //19
// titles.add("修改时间"); //20
// titles.add("添加时间"); //21
// titles.add("添加人"); //22
dataMap.put("titles", titles);
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
List<PageData> varOList = emergencyplanService.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("PLAN_NAME")); //1
vpd.put("var2", varOList.get(i).getString("PLAN_NO")); //2
vpd.put("var3", varOList.get(i).getString("PLAN_USE_SCOPE")); //3
vpd.put("var4", varOList.get(i).getString("PLAN_CATEGORY")); //4
vpd.put("var5", varOList.get(i).getString("PLAN_LEVEL")); //5
vpd.put("var6", varOList.get(i).getString("ESTAB_UNIT")); //6
vpd.put("var7", varOList.get(i).getString("ESTAB_USER")); //7
vpd.put("var8", varOList.get(i).getString("PUBLISH_DATE")); //8
vpd.put("var9", varOList.get(i).getString("PUBLISH_DOC_NO")); //9
vpd.put("var10", varOList.get(i).getString("PUBLISH_UNIT")); //10
vpd.put("var11", varOList.get(i).getString("ISSUER")); //11
vpd.put("var12", varOList.get(i).getString("PLAN_RECORD_STATUS")); //12
vpd.put("var13", varOList.get(i).getString("PLAN_RECORD_DATE")); //13
vpd.put("var14", varOList.get(i).getString("PLAN_RECORD_UNIT")); //14
vpd.put("var15", varOList.get(i).getString("PLAN_SUMMARY")); //15
vpd.put("var16", varOList.get(i).getString("PLAN_REMARK")); //16
// vpd.put("var17", varOList.get(i).getString("PLAN_ATTACH_IDS")); //17
// vpd.put("var18", varOList.get(i).get("ISDELETE").toString()); //18
// vpd.put("var19", varOList.get(i).getString("OPERATOR")); //19
// vpd.put("var20", varOList.get(i).getString("OPERATTIME")); //20
// vpd.put("var21", varOList.get(i).getString("CREATTIME")); //21
// vpd.put("var22", varOList.get(i).getString("CREATOR")); //22
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 = emergencyplanService.findById(pd);
String FILEPATH = pd.getString("PLAN_ATTACH_IDS");
String FILENAME = pd.getString("PLAN_ATTACH_NAME");
//本地
// 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("=========文件下载异常:可能要下载的文件已经没有了=========");
}
}
}