423 lines
15 KiB
Java
423 lines
15 KiB
Java
package com.zcloud.controller.bus;
|
||
|
||
import java.io.File;
|
||
import java.util.ArrayList;
|
||
import java.util.Date;
|
||
import java.util.HashMap;
|
||
import java.util.Iterator;
|
||
import java.util.List;
|
||
import java.util.Map;
|
||
|
||
import javax.servlet.http.HttpServletResponse;
|
||
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.stereotype.Controller;
|
||
import org.springframework.transaction.annotation.Transactional;
|
||
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 org.apache.shiro.authz.annotation.RequiresPermissions;
|
||
|
||
import com.zcloud.controller.base.BaseController;
|
||
import com.zcloud.entity.Page;
|
||
import com.zcloud.util.Const;
|
||
import com.zcloud.util.DateUtil;
|
||
import com.zcloud.util.FileDownload;
|
||
import com.zcloud.util.FileUpload;
|
||
import com.zcloud.util.Jurisdiction;
|
||
import com.zcloud.util.ObjectExcelRead;
|
||
import com.zcloud.util.ObjectExcelView;
|
||
import com.zcloud.util.PathUtil;
|
||
import com.zcloud.util.Smb;
|
||
import com.zcloud.util.Tools;
|
||
import com.zcloud.entity.PageData;
|
||
import com.zcloud.entity.system.Dictionaries;
|
||
import com.zcloud.service.bus.ImgFilesService;
|
||
import com.zcloud.service.bus.RestrictedSpaceService;
|
||
import com.zcloud.service.system.DictionariesService;
|
||
|
||
/**
|
||
* 说明:有(受)限空间
|
||
* 作者:luoxiaobao
|
||
* 时间:2021-01-07
|
||
* 官网:www.zcloudchina.com
|
||
*/
|
||
@Controller
|
||
@RequestMapping("/restrictedspace")
|
||
public class RestrictedSpaceController extends BaseController {
|
||
|
||
@Autowired
|
||
private RestrictedSpaceService restrictedspaceService;
|
||
@Autowired
|
||
private ImgFilesService imgFilesService;
|
||
@Autowired
|
||
private DictionariesService dictionariesService;
|
||
/**新增
|
||
* @param
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/add")
|
||
@RequiresPermissions("restrictedspace:add")
|
||
@ResponseBody
|
||
public Object add() throws Exception{
|
||
Map<String,Object> map = new HashMap<String,Object>();
|
||
String errInfo = "success";
|
||
PageData pd = new PageData();
|
||
pd = this.getPageData();
|
||
pd.put("RESTRICTEDSPACE_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("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||
pd.put("ISDELETE", "0"); //是否删除 1-是 0-否
|
||
restrictedspaceService.save(pd);
|
||
map.put("result", errInfo);
|
||
map.put("pd", pd);
|
||
return map;
|
||
}
|
||
|
||
/**删除
|
||
* @param out
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/delete")
|
||
@RequiresPermissions("restrictedspace: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())); //修改时间
|
||
restrictedspaceService.delete(pd);
|
||
PageData pd2 = new PageData();
|
||
pd2.put("FOREIGN_KEY", pd.getString("RESTRICTEDSPACE_ID"));
|
||
pd2.put("TYPE",7);
|
||
List<PageData> imgs = imgFilesService.listAll(pd2);//隐患图片
|
||
if(imgs != null && imgs.size() > 0) {
|
||
for (PageData pageData : imgs) {
|
||
File old = new File(PathUtil.getProjectpath()+pageData.getString("FILEPATH"));
|
||
old.delete();
|
||
imgFilesService.delete(pageData);
|
||
}
|
||
}
|
||
map.put("result", errInfo); //返回结果
|
||
return map;
|
||
}
|
||
|
||
/**修改
|
||
* @param
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/edit")
|
||
@RequiresPermissions("restrictedspace:edit")
|
||
@ResponseBody
|
||
public Object edit() 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())); //修改时间
|
||
restrictedspaceService.edit(pd);
|
||
map.put("result", errInfo);
|
||
map.put("pd", pd);
|
||
return map;
|
||
}
|
||
|
||
/**列表
|
||
* @param page
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/list")
|
||
@RequiresPermissions("restrictedspace: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());
|
||
page.setPd(pd);
|
||
List<PageData> varList = restrictedspaceService.list(page); //列出RestrictedSpace列表
|
||
|
||
if(varList.size()>0) {//如果有数据就去查询图片
|
||
String varIds[] = new String[varList.size()]; //需要查询的图片ids
|
||
for (int i = 0; i < varList.size(); i++) {
|
||
varIds[i] = varList.get(i).getString("RESTRICTEDSPACE_ID");
|
||
}
|
||
PageData pd2 = new PageData();
|
||
pd2.put("ArrayDATA_IDS", varIds);
|
||
List<PageData> varImgList = imgFilesService.listAllByIds(pd2);//
|
||
for(int i=0;i<varList.size();i++) {
|
||
PageData varPd = new PageData();
|
||
varPd = varList.get(i);
|
||
String listKey = varPd.getString("RESTRICTEDSPACE_ID");
|
||
for(int j =0 ;j<varImgList.size(); j++) {
|
||
String imgKey = varImgList.get(j).getString("FOREIGN_KEY");
|
||
if(imgKey.equals(listKey)) {
|
||
varPd.put("img", varImgList.get(j).getString("FILEPATH"));
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
map.put("varList", varList);
|
||
map.put("page", page);
|
||
map.put("result", errInfo);
|
||
return map;
|
||
}
|
||
|
||
/**去修改页面获取数据
|
||
* @param
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/goEdit")
|
||
@RequiresPermissions("restrictedspace: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 = restrictedspaceService.findById(pd); //根据ID读取
|
||
PageData pd2 = new PageData();
|
||
pd2.put("FOREIGN_KEY", pd.getString("RESTRICTEDSPACE_ID"));
|
||
pd2.put("TYPE",7);
|
||
List<PageData> hImgs = imgFilesService.listAll(pd2);//
|
||
map.put("hImgs", hImgs);
|
||
map.put("pd", pd);
|
||
map.put("result", errInfo);
|
||
return map;
|
||
}
|
||
|
||
/**批量删除
|
||
* @param
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/deleteAll")
|
||
@RequiresPermissions("restrictedspace: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();
|
||
String DATA_IDS = pd.getString("DATA_IDS");
|
||
if(Tools.notEmpty(DATA_IDS)){
|
||
String ArrayDATA_IDS[] = DATA_IDS.split(",");
|
||
restrictedspaceService.deleteAll(ArrayDATA_IDS);
|
||
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{
|
||
|
||
String DICTIONARIES_ID = "723d3cc7b2c8497c83fd6b4b6cc9a45d";
|
||
DICTIONARIES_ID = Tools.isEmpty(DICTIONARIES_ID)?"0":DICTIONARIES_ID;
|
||
List<Dictionaries> dicListVal = dictionariesService.listSubDictByParentId(DICTIONARIES_ID); //用传过来的ID获取此ID下的子列表数据
|
||
Map<String, Object> dicMap = new HashMap<>();
|
||
for (Dictionaries dictionaries : dicListVal) {
|
||
dicMap.put(dictionaries.getBIANMA(), dictionaries.getNAME());
|
||
}
|
||
|
||
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("NO"); //1
|
||
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("添加人"); //13
|
||
titles.add("添加时间"); //14
|
||
titles.add("修改人"); //15
|
||
titles.add("修改时间"); //16
|
||
// titles.add("是否删除 1-是 0-否"); //17
|
||
dataMap.put("titles", titles);
|
||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||
pd.put("ISDELETE", "0");
|
||
List<PageData> varOList = restrictedspaceService.listAll(pd);
|
||
List<PageData> varList = new ArrayList<PageData>();
|
||
for(int i=0;i<varOList.size();i++){
|
||
PageData vpd = new PageData();
|
||
vpd.put("var1", i+1+""); //1
|
||
vpd.put("var2", varOList.get(i).getString("NAME")); //1
|
||
vpd.put("var3", varOList.get(i).getString("AREA")); //2
|
||
vpd.put("var4", varOList.get(i).getString("POST")); //3
|
||
vpd.put("var5", varOList.get(i).getString("FREQUENCY")); //4
|
||
vpd.put("var6", varOList.get(i).getString("HAZARDFACTORS")); //5
|
||
vpd.put("var7", varOList.get(i).getString("CONSEQUENCE")); //6
|
||
vpd.put("var8", varOList.get(i).getString("REQUIREMENTS")); //7
|
||
vpd.put("var9",dicMap.get(varOList.get(i).getString("HOMEWORKFORM"))); //8
|
||
vpd.put("var10", varOList.get(i).getString("EXAMINEOR")); //9
|
||
vpd.put("var11", varOList.get(i).getString("SCENEOR")); //10
|
||
vpd.put("var12", varOList.get(i).getString("DESCR")); //11
|
||
vpd.put("var13", varOList.get(i).getString("CREATOR")); //13
|
||
vpd.put("var14", varOList.get(i).getString("CREATTIME")); //14
|
||
vpd.put("var15", varOList.get(i).getString("OPERATOR")); //15
|
||
vpd.put("var16", varOList.get(i).getString("OPERATTIME")); //16
|
||
varList.add(vpd);
|
||
}
|
||
dataMap.put("varList", varList);
|
||
ObjectExcelView erv = new ObjectExcelView();
|
||
mv = new ModelAndView(erv,dataMap);
|
||
return mv;
|
||
}
|
||
/**导出到excel
|
||
* @param
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/excelModel")
|
||
// @RequiresPermissions("toExcel")
|
||
public void exportExcelModel(HttpServletResponse response) throws Exception{
|
||
FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE + "restrictedspaceTemplate.xls", "restrictedspaceTemplate.xls");
|
||
}
|
||
|
||
/**从EXCEL导入到数据库
|
||
* @param file
|
||
* @return
|
||
* @throws Exception
|
||
*/
|
||
@RequestMapping(value="/readExcel")
|
||
@RequiresPermissions("fromExcel")
|
||
@SuppressWarnings("unchecked")
|
||
@ResponseBody
|
||
@Transactional
|
||
public Object readExcel(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception{
|
||
Map<String,String> map = new HashMap<String,String>();
|
||
String errInfo = "success";
|
||
PageData pdPublic = new PageData();
|
||
pdPublic = this.getPageData();
|
||
StringBuffer errorStr = new StringBuffer();
|
||
|
||
if (null != file && !file.isEmpty()) {
|
||
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase();
|
||
if (!"xls".equals(suffixName)) {
|
||
errInfo = "fail";
|
||
map.put("result", errInfo);
|
||
map.put("msg", "文件格式不正确!");
|
||
return map;
|
||
}
|
||
String ffile = "restrictedspace/"+DateUtil.getDays()+"/";
|
||
String filePath = Const.FILEURL + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile;
|
||
String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
||
Smb.sshSftp(file, fileName,Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile);
|
||
List<PageData> listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 1, 0, 0);//执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet
|
||
if(listPd.size()==0) {
|
||
errInfo="error";
|
||
errorStr.append("未找到上传内容,请确认后重新上传");
|
||
map.put("result", errInfo); //返回结果
|
||
map.put("resultStr", errorStr.toString());
|
||
return map;
|
||
}
|
||
String DICTIONARIES_ID = "723d3cc7b2c8497c83fd6b4b6cc9a45d";
|
||
DICTIONARIES_ID = Tools.isEmpty(DICTIONARIES_ID)?"0":DICTIONARIES_ID;
|
||
List<Dictionaries> dicListVal = dictionariesService.listSubDictByParentId(DICTIONARIES_ID); //用传过来的ID获取此ID下的子列表数据
|
||
Map<String, Object> dicMap = new HashMap<>();
|
||
for (Dictionaries dictionaries : dicListVal) {
|
||
dicMap.put(dictionaries.getNAME(),dictionaries.getBIANMA());
|
||
}
|
||
|
||
int line= 12;
|
||
int row =0;
|
||
List<Map<String, Object>> addList = new ArrayList<>();
|
||
for(PageData lpd:listPd) {
|
||
row ++;
|
||
String biaoshi = Tools.excelHandle(lpd.get("var0").toString());
|
||
if(Tools.isEmpty(biaoshi)) {
|
||
break;
|
||
}
|
||
for(int i=1;i<line;i++) {
|
||
String key = "var"+i;
|
||
String val = lpd.get(key).toString();
|
||
if(i== 8) {
|
||
if(!dicMap.containsKey(val)) {
|
||
errInfo="error";
|
||
errorStr.append("第"+row+"行的"+line+"列字段未找到信息。请检查导入信息");
|
||
map.put("result", errInfo); //返回结果
|
||
map.put("resultStr", errorStr.toString());
|
||
return map;
|
||
}
|
||
}
|
||
if(Tools.isEmpty(val)) {
|
||
errInfo="error";
|
||
errorStr.append("第"+row+"行的"+line+"列字段为空。请检查导入信息");
|
||
map.put("result", errInfo); //返回结果
|
||
map.put("resultStr", errorStr.toString());
|
||
return map;
|
||
}
|
||
|
||
}
|
||
Map<String, Object> valPd = new HashMap<>();
|
||
String NAME= Tools.excelHandle(lpd.get("var1").toString());
|
||
String AREA= Tools.excelHandle(lpd.get("var2").toString());
|
||
String POST= Tools.excelHandle(lpd.get("var3").toString());
|
||
String FREQUENCY= Tools.excelHandle(lpd.get("var4").toString());
|
||
String HAZARDFACTORS= Tools.excelHandle(lpd.get("var5").toString());
|
||
String CONSEQUENCE= Tools.excelHandle(lpd.get("var6").toString());
|
||
String REQUIREMENTS= Tools.excelHandle(lpd.get("var7").toString());
|
||
String HOMEWORKFORM= dicMap.get(Tools.excelHandle(lpd.get("var8").toString())).toString();
|
||
String EXAMINEOR= Tools.excelHandle(lpd.get("var9").toString());
|
||
String SCENEOR=Tools.excelHandle( lpd.get("var10").toString());
|
||
String DESCR= Tools.excelHandle(lpd.get("var11").toString());
|
||
|
||
valPd.put("NAME", NAME);
|
||
valPd.put("AREA", AREA);
|
||
valPd.put("POST", POST);
|
||
valPd.put("FREQUENCY", FREQUENCY);
|
||
valPd.put("HAZARDFACTORS", HAZARDFACTORS);
|
||
valPd.put("CONSEQUENCE", CONSEQUENCE);
|
||
valPd.put("REQUIREMENTS", REQUIREMENTS);
|
||
valPd.put("HOMEWORKFORM", HOMEWORKFORM);
|
||
valPd.put("EXAMINEOR", EXAMINEOR);
|
||
valPd.put("SCENEOR", SCENEOR);
|
||
valPd.put("DESCR", DESCR);
|
||
valPd.put("RESTRICTEDSPACE_ID", this.get32UUID()); //主键
|
||
valPd.put("CREATOR", Jurisdiction.getUsername()); //添加人
|
||
valPd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间
|
||
valPd.put("OPERATOR", Jurisdiction.getUsername()); //修改人
|
||
valPd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||
valPd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||
valPd.put("ISDELETE", "0"); //是否删除 1-是 0-否
|
||
addList.add(valPd);
|
||
}
|
||
PageData pd = new PageData();
|
||
pd.put("list", addList);
|
||
restrictedspaceService.savaAll(pd);
|
||
}else {
|
||
errInfo="error";
|
||
errorStr.append("上传文件错误!请联系管理员");
|
||
}
|
||
map.put("result", errInfo); //返回结果
|
||
map.put("resultStr", errorStr.toString());
|
||
return map;
|
||
}
|
||
}
|