package com.zcloud.controller.bus; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.RequiresPermissions; 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 com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.entity.system.Dictionaries; import com.zcloud.service.bus.IdeRepositoryService; import com.zcloud.service.bus.IdentificationPartsService; import com.zcloud.service.bus.RiskCheckItemService; import com.zcloud.service.bus.RiskPointPositionService; import com.zcloud.service.bus.RiskPointService; import com.zcloud.service.bus.RiskPointTemporaryService; import com.zcloud.service.bus.RiskToUserService; import com.zcloud.service.bus.RiskUnitService; import com.zcloud.service.system.DepartmentService; import com.zcloud.service.system.DictionariesService; import com.zcloud.service.system.UsersService; import com.zcloud.util.Const; import com.zcloud.util.DateUtil; import com.zcloud.util.FileDownload; 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 net.sf.json.JSONArray; /** * 说明:风险点台账 * 作者:luoxiaobao * 时间:2020-12-29 * 官网:www.zcloudchina.com */ @Controller @RequestMapping("/riskpointTemporary") public class RiskPointTemporaryController extends BaseController { @Autowired private RiskPointService riskpointService; @Autowired private DepartmentService departmentService; @Autowired private UsersService usersService; @Autowired private RiskToUserService riskToUserService; @Autowired private RiskPointPositionService riskPointPositionService; @Autowired private IdentificationPartsService identificationPartsService; @Autowired private RiskUnitService riskUnitService; @Autowired private RiskCheckItemService riskcheckitemService; @Autowired private DictionariesService dictionariesService; @Autowired private IdentificationPartsService identificationpartsService; @Autowired private RiskPointTemporaryService riskPointTemporaryService; @Autowired private IdeRepositoryService ideRepositoryService; /**新增 * @param * @throws Exception */ @RequestMapping(value="/add") @ResponseBody @Transactional public Object add() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("RISKPOINTTEMPORARY_ID", this.get32UUID()); //主键 pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业 pd.put("ISDELETE", "0"); //是否删除 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("TYPE", "0"); //修改时间 pd.put("RES_ISDELETE", "0"); //String riskPointCountString = riskpointService.countByCorpInfo(pd); //Integer count = Integer.parseInt(riskPointCountString); //count ++; //pd.put("SORT", count); riskPointTemporaryService.save(pd); // if(pd.get("OTHER")!=null && !pd.get("OTHER").equals("")) { // List list = (List)JSON.parse(pd.get("OTHER").toString()); // for (JSONObject json : list) { // if(json.get("DEPARTMENT_ID")!=null && json.get("DEPARTMENT_ID")!="" && json.get("USER_ID")!=null && json.get("USER_ID")!="") { // PageData other = new PageData(); // other.put("RISKTOUSER_ID", this.get32UUID()); //主键 // other.put("RISKPOINT_ID", pd.get("RISKPOINT_ID")); // other.put("DEPARTMENT_ID",json.get("DEPARTMENT_ID")); // other.put("USER_ID",json.get("USER_ID")); // riskToUserService.save(other); // } // } // } // PageData item = new PageData(); // item.put("RISKCHECKITEM_ID", this.get32UUID()); //主键 // item.put("RISKPOINT_ID", pd.get("RISKPOINT_ID")); //风险点主键 // item.put("ISDELETE", "0"); //是否删除 // item.put("CREATOR",Jurisdiction.getUsername()); //添加人 // item.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 // item.put("OPERATOR", Jurisdiction.getUsername()); //修改人 // item.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 // item.put("CHECK_CONTENT", pd.get("CHECK_CONTENT")); //检查内容 // riskcheckitemService.save(item); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goAdd") @RequiresPermissions("riskpointTemporary:add") @ResponseBody public Object goAdd() throws Exception{ Map map = new HashMap(); String errInfo = "success"; // //获取部门下拉树 // List zdepartmentPdList = new ArrayList(); // String ZDEPARTMENT_ID = Jurisdiction.getDEPARTMENT_ID(); // ZDEPARTMENT_ID = "".equals(ZDEPARTMENT_ID)?"0":ZDEPARTMENT_ID; // PageData dept = new PageData(); // dept.put("DEPARTMENT_ID",ZDEPARTMENT_ID); // dept=this.departmentService.findById(dept); //获取部门下拉树 List zdepartmentPdList = new ArrayList(); PageData dept = new PageData(); dept.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); dept=this.departmentService.findByCorpId(dept); String ZDEPARTMENT_ID = dept.getString("DEPARTMENT_ID"); PageData node = new PageData(); node.put("id", dept.get("DEPARTMENT_ID")); node.put("parentId", dept.get("PARENT_ID")); node.put("name", dept.get("NAME")); node.put("icon", "../../../assets/images/user.gif"); zdepartmentPdList.add(node); JSONArray arr = JSONArray.fromObject(departmentService.listAllDepartmentToSelect(ZDEPARTMENT_ID,zdepartmentPdList)); map.put("zTreeNodes", (null == arr ?"":"{\"treeNodes\":" + arr.toString() + "}")); //获取人员下拉 PageData user = new PageData(); user.put("DEPARTMENT_ID", ZDEPARTMENT_ID); List userList = this.usersService.listAllUser(user); map.put("userList", userList); map.put("result", errInfo); return map; } /**删除 * @param out * @throws Exception */ @RequestMapping(value="/delete") @RequiresPermissions("riskpointTemporary:del") @ResponseBody public Object delete() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); riskpointService.delete(pd); map.put("result", errInfo); //返回结果 return map; } /**修改 * @param * @throws Exception */ @RequestMapping(value="/edit") @ResponseBody @Transactional public Object edit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); if(pd.get("TYPE") != null && Tools.notEmpty(pd.get("TYPE").toString())) { if("1".equals(pd.get("TYPE").toString())) {// 修改原来已存在的风险因素 PageData risk = riskpointService.findById(pd); pd.put("TYPE", "1"); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 pd.put("RISKPOINTTEMPORARY_ID",this.get32UUID()); pd.put("RES_ID", pd.get("RISKPOINT_ID")); pd.put("ISDELETE", "0"); //是否删除 pd.put("CREATOR", risk.get("CREATOR")); //添加人 pd.put("CREATTIME", risk.get("CREATTIME")); //创建时间 pd.put("RES_ISDELETE", risk.get("RES_ISDELETE")); pd.put("SORT", risk.get("SORT")); pd.put("LONGITUDE", risk.get("LONGITUDE")); pd.put("LATITUDE", risk.get("LATITUDE")); pd.put("CORPINFO_ID", risk.get("CORPINFO_ID")); riskPointTemporaryService.save(pd); } else if("2".equals(pd.get("TYPE").toString())) { pd.put("RISKPOINTTEMPORARY_ID",pd.get("RISKPOINT_ID")); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 riskPointTemporaryService.edit(pd); } else if("3".equals(pd.get("TYPE").toString())) { pd.put("TYPE", "2"); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业 pd.put("ISDELETE", "0"); //是否删除 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("SETUPTIME", pd.get("SETUPTIME")); pd.put("RISKPOINTTEMPORARY_ID",this.get32UUID()); pd.put("RES_ID", pd.get("RISKPOINT_ID")); pd.put("ISDELETE", "0"); //是否删除 pd.put("RES_ISDELETE", "0"); riskPointTemporaryService.save(pd); } } else { errInfo = "fail"; } map.put("result", errInfo); return map; } /**列表 * @param page * @throws Exception */ @RequestMapping(value="/list") @ResponseBody public Object list(Page page) throws Exception{ Map map = new HashMap(); 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()); pd.put("USER_ID",Jurisdiction.getUSER_ID()); /* String DEPARTMENT_ID = Jurisdiction.getDEPARTMENT_ID(); String ids = departmentService.getDEPARTMENT_IDS(DEPARTMENT_ID); ids=Jurisdiction.getDEPARTMENT_ID()+","+ids; if(ids!=null && Tools.notEmpty(ids) && ids.lastIndexOf(",")>-1) { ids = ids.substring(0,ids.lastIndexOf(",")); pd.put("DEPARTMENT_IDS", ids.split(",")); }*/ page.setPd(pd); List varList = riskpointService.list(page); //列出RiskPoint列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEdit") @ResponseBody public Object goEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("RISKPOINTTEMPORARY_ID", pd.get("RISKPOINT_ID")); pd = riskPointTemporaryService.findById(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**已存在风险因素 去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goRiskEdit") @ResponseBody public Object goRiskEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = riskpointService.findRiskById(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**资源库 去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goResEdit") @ResponseBody public Object goResEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("IDEREPOSITORY_ID", pd.get("RISKPOINT_ID")); pd = ideRepositoryService.findById(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**首页统计 * @param * @throws Exception */ @RequestMapping(value="/statistic") @ResponseBody public Object statistic() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd=this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // if(pd.get("isBI")==null) { // pd.put("USER_ID",Jurisdiction.getUsername()); // String DEPARTMENT_ID = Jurisdiction.getDEPARTMENT_ID(); // String ids = departmentService.getDEPARTMENT_IDS(DEPARTMENT_ID); // if(ids!=null && Tools.notEmpty(ids)) { // ids = ids.substring(0,ids.lastIndexOf(",")); // pd.put("DEPARTMENT_IDS", ids.split(",")); // } // } List riskAll = riskpointService.statisticsAll(pd); //int riskCount = //List riskAll = identificationPartsService.getBiCount(pd); List idAll = identificationPartsService.listIndexAll(pd); List unitAll = riskUnitService.listIndexAll(pd); //风险点-只按名称统计 辨识部位-统计不同单元内的辨识部位名称的总数 map.put("riskAll", riskAll); map.put("idAll", idAll); map.put("unitAll", unitAll); map.put("result", errInfo); return map; } /**批量删除 * @param * @throws Exception */ @RequestMapping(value="/deleteAll") @RequiresPermissions("riskpointTemporary:del") @ResponseBody public Object deleteAll() throws Exception{ Map map = new HashMap(); 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(","); riskpointService.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{ ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); if(Jurisdiction.getUsername()!="admin") { pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); } Map dataMap = new HashMap(); List titles = new ArrayList(); titles.add("企业名称"); //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("添加人"); //12 titles.add("创建时间"); //13 titles.add("修改人"); //14 titles.add("修改时间"); //15 dataMap.put("titles", titles); List varOList = riskpointService.listAllByDc(pd); List varList = new ArrayList(); for(int i=0;i map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业 List positionList = riskPointPositionService.listAll(pd); List partsList = identificationPartsService.listAll(pd); List unitList = riskUnitService.listAll(pd); map.put("positionList", positionList); map.put("partsList", partsList); map.put("unitList", unitList); map.put("result", errInfo); return map; } /**导出到excel * @param * @throws Exception */ @RequestMapping(value="/excelModel") // @RequiresPermissions("toExcel") public void exportExcelModel(HttpServletResponse response) throws Exception{ // Exclupload ss=new Exclupload(); // ss.testModuleExcel(); FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE + "riskpointExcelTemplate.xls", "风险辨识导入模板.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 map = new HashMap(); String errInfo = "success"; PageData pdPublic = new PageData(); pdPublic = this.getPageData(); StringBuffer errorStr = new StringBuffer(); String error=""; String error1=""; String error2=""; String error3=""; String error4=""; String error5=""; String error6=""; List rList = new ArrayList(); 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 filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + "riskpoint/"+DateUtil.getDays()+"/"; // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID());//执行上传 // String fileTyle=fileName.substring(fileName.lastIndexOf("."),fileName.length()); String ffile = "riskpoint/"+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 listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 1, 0, 0); //执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet pdPublic.put("ISDELETE", "0"); //删除标识(0:有效 1:删除) pdPublic.put("ISBIND", "0"); //删除标识(0:未绑定 1:已绑定) pdPublic.put("OPERATOR", Jurisdiction.getUsername()); //操作人 pdPublic.put("OPERATTIME", DateUtil.date2Str(new Date())); //操作时间 pdPublic.put("CREATOR", Jurisdiction.getUsername()); //创建人 pdPublic.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 /** * var0 :风险点(单元) * var1 :辨识部位 * var2 :存在风险 * var3 :风险分级 * var4 :主要管控措施 * var5 :管控部门 * var6 :责任人 * var7 :事故类型 * var8 :事故类型 * var9 :应急处置措施 */ int succeeNum = 0; if(listPd.size()>0) { for(PageData lpd:listPd) { PageData riskPoint = new PageData(); //责任部门 PageData department = new PageData(); if(Tools.isEmpty(Tools.excelHandle(lpd.get("var0").toString()))) { break; } department.put("NAME", Tools.excelHandle(lpd.get("var5").toString())); department.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); department =departmentService.findByName(department); if(department!=null) { riskPoint.put("DEPARTMENT_ID", department.getString("DEPARTMENT_ID")); }else { error3+=lpd.get("var5")+","; errInfo="error"; break; } riskPoint.put("RISKPOINT_ID", this.get32UUID()); PageData riskUnit = new PageData(); riskUnit.put("RISKUNITNAME", Tools.excelHandle(lpd.get("var0").toString())); riskUnit.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); riskUnit.put("DEPARTMENT_ID", department.getString("DEPARTMENT_ID")); List riskUnitList=riskUnitService.findByName(riskUnit); if(riskUnitList.size()>0) { //风险点(单元) riskPoint.put("RISK_UNIT_ID", riskUnitList.get(0).getString("RISKUNIT_ID")); }else { error+=lpd.get("var0")+","; errInfo="error"; break; } PageData identification = new PageData(); identification.put("PARTSNAME", Tools.excelHandle(lpd.get("var1").toString())); identification.put("RISK_UNIT_ID", riskUnit.getString("RISKUNIT_ID")); identification.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); List identificationList =identificationPartsService.findByName(identification); if(identificationList.size()>0) { //辨识部位 riskPoint.put("IDENTIFICATION_ID", identificationList.get(0).getString("IDENTIFICATIONPARTS_ID")); }else { error1+=lpd.get("var1")+","; errInfo="error"; break; } //存在风险 riskPoint.put("RISK_DESCR", Tools.excelHandle(lpd.get("var2").toString())); PageData levelid = new PageData(); levelid.put("NAME", Tools.excelHandle(lpd.get("var3").toString())); levelid =dictionariesService.findByName(levelid); if(levelid!=null) { riskPoint.put("LEVELID", levelid.getString("BIANMA")); }else { error2+=lpd.get("var3")+","; errInfo="error"; break; } // //责任人 // PageData user = new PageData(); // user.put("NAME", lpd.get("var6").toString().replaceAll(" ", "")); // user.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // user =usersService.findByName(user); // if(user!=null) { // riskPoint.put("USER_ID", user.getString("USER_ID")); // }else { riskPoint.put("USER_ID", lpd.get("var6")); String accidents=""; String accidentsId=""; if(null!=lpd.get("var7")&&!"".equals(lpd.get("var7"))) { accidents+=Tools.excelHandle(lpd.get("var7").toString())+","; } if(null!=lpd.get("var8")&&!"".equals(lpd.get("var8"))) { accidents+=Tools.excelHandle(lpd.get("var8").toString())+","; } if(null!=lpd.get("var7")&&!"".equals(lpd.get("var7"))) { riskPoint.put("ACCIDENTS_NAME", accidents.substring(0, accidents.length()-1)); PageData accidentsPd = new PageData(); accidentsPd.put("NAME", Tools.excelHandle(lpd.get("var7").toString())); accidentsPd =dictionariesService.findByName(accidentsPd); if(accidentsPd!=null) { accidentsId+=accidentsPd.getString("BIANMA")+","; }else { error5+=lpd.get("var7")+","; errInfo="error"; break; } } if(null!=lpd.get("var8")&&!"".equals(lpd.get("var8"))) { PageData accidentssPd = new PageData(); accidentssPd.put("NAME", Tools.excelHandle(lpd.get("var8").toString())); accidentssPd =dictionariesService.findByName(accidentssPd); if(accidentssPd!=null) { accidentsId+=accidentssPd.getString("BIANMA")+","; }else { error6+=lpd.get("var8")+","; errInfo="error"; break; } } if(accidentsId!="") { riskPoint.put("ACCIDENTS", accidentsId.substring(0, accidentsId.length()-1)); }else { riskPoint.put("ACCIDENTS",""); } riskPoint.put("EME_MEASURES", Tools.excelHandle(lpd.get("var9").toString())); riskPoint.put("MEASURES", Tools.excelHandle(lpd.get("var4").toString())); riskPoint.put("ISDELETE", "0"); riskPoint.put("CREATOR", Jurisdiction.getUsername()); riskPoint.put("OPERATOR",Jurisdiction.getUsername()); riskPoint.put("OPERATTIME", DateUtil.date2Str(new Date())); riskPoint.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); rList.add(riskPoint); succeeNum++; } if(errInfo=="success") { for(PageData r:rList) { riskpointService.save(r); PageData riskcheckitem = new PageData(); riskcheckitem.put("RISKCHECKITEM_ID", this.get32UUID()); //主键 riskcheckitem.put("CHECK_CONTENT", r.getString("MEASURES")); riskcheckitem.put("ISDELETE", "0"); //是否删除 riskcheckitem.put("CREATOR",Jurisdiction.getUsername()); //添加人 riskcheckitem.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 riskcheckitem.put("OPERATOR", Jurisdiction.getUsername()); //修改人 riskcheckitem.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 riskcheckitem.put("RISKPOINT_ID", r.getString("RISKPOINT_ID")); //风险点 riskcheckitemService.save(riskcheckitem); } } // PageData excelLog = new PageData(); // excelLog.put("SUCCEENUM", succeeNum); // excelLog.put("FAILNUM", failNum); // excelLog.put("CREATOR", Jurisdiction.getUsername()); //创建人 // excelLog.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 // excelLog.put("URL", filePath+fileName); // excelLog.put("TARGETTABLE", "BUS_CARPORT"); // excelLog.put("PRECINCT_ID", pdPublic.getString("PRECINCT_ID")); // excelLog.put("EXCELLOG_ID", this.get32UUID()); // excelLogService.save(excelLog); }else { errInfo="banben"; } } map.put("result", errInfo); //返回结果 map.put("msg", error+error1+error2+error3+error4+error5+error6); //返回结果 map.put("resultStr", errorStr.toString()); return map; } /**从EXCEL导入到数据库 * @param file * @return * @throws Exception */ @RequestMapping(value="/readExcel2") @RequiresPermissions("fromExcel") @SuppressWarnings("unchecked") @ResponseBody @Transactional public Object readExcel2(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pdPublic = new PageData(); pdPublic = this.getPageData(); StringBuffer errorStr = new StringBuffer(); List rList = new ArrayList(); 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 filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + "riskpoint/"+DateUtil.getDays()+"/"; // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID());//执行上传 // String fileTyle=fileName.substring(fileName.lastIndexOf("."),fileName.length()); String ffile = "riskpoint/"+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 listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 1, 0, 0); //执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet /** * var0 :风险点(单元) * var1 :辨识部位 * var2 :存在风险 * var3 :风险分级 * var4 :主要管控措施 * var5 :管控部门 * var6 :责任人 * var7 :事故类型 * var8 :事故类型 * var9 :事故类型 * var10 :事故类型 * var11 :应急处置措施 */ List header = new ArrayList<>(); header.add("风险点(单元)");header.add("辨识部位");header.add("存在风险");header.add("风险分级");header.add("主要管控措施"); header.add("管控部门");header.add("责任人");header.add("事故类型1");header.add("事故类型2");header.add("事故类型3"); header.add("事故类型4");header.add("应急处置措施"); PageData corpinfoId = new PageData();//企业下的全部的风险点(单元) corpinfoId.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); corpinfoId.put("ISDELETE", "0"); List riskUnitList=riskUnitService.listAll(corpinfoId); Map riskMapAll = new HashMap<>(); for (PageData pageData : riskUnitList) { riskMapAll.put(pageData.getString("DEPARTMENT_ID")+Tools.excelHandle(pageData.getString("RISKUNITNAME")), pageData); } List idenList = identificationpartsService.listAll(corpinfoId); Map identMapAll = new HashMap<>(); for (PageData pageData : idenList) { identMapAll.put(pageData.getString("RISK_UNIT_ID")+Tools.excelHandle(pageData.getString("PARTSNAME")), pageData); } List levelAll =dictionariesService.listSubDictByParentId("5a81e63ec0e94d919b3138bc01dbef6b");//获取全部的风险等级 Map levelMapAll = new HashMap<>(); for (Dictionaries dictionaries : levelAll) { levelMapAll.put(Tools.excelHandle(dictionaries.getNAME()), dictionaries); } List deptListAll = departmentService.listAll(corpinfoId); Map deptMapAll = new HashMap<>(); for (PageData pageData : deptListAll) { deptMapAll.put(Tools.excelHandle(pageData.getString("NAME")), pageData); } List accListAll =dictionariesService.listSubDictByParentId("cee1190ea96a4ca9b7bca81e11f0d0f8");//获取全部的事故类型 Map accMapList = new HashMap<>(); for (Dictionaries dictionaries : accListAll) { accMapList.put(Tools.excelHandle(dictionaries.getNAME()), dictionaries); } String riskPointCountString = riskpointService.countByCorpInfo(corpinfoId); Integer rislPointCount = Integer.parseInt(riskPointCountString); int succeeNum = 1; if(listPd.size()<1) { map.put("result", "error"); //返回结果 map.put("resultStr", "Excel数据为空,请检查数据后,重新上传!"); return map; } for(PageData lpd:listPd) { succeeNum ++; for(int i=0;i=6) { continue; } if(!lpd.containsKey("var"+i)) { errorStr.append("第"+succeeNum+"行的\""+header.get(i)+"\"无数据;\n"); continue; } if(Tools.isEmpty(lpd.get("var"+i))) { errorStr.append("第"+succeeNum+"行的\""+header.get(i)+"\"无数据;\n"); continue; } } String riskVar = Tools.isEmpty(lpd.get("var0"))?"":Tools.excelHandle(lpd.get("var0")); String identificationVar = Tools.isEmpty(lpd.get("var1"))?"":Tools.excelHandle(lpd.get("var1")); String riskPointVar = Tools.isEmpty(lpd.get("var2"))?"":Tools.excelHandle(lpd.get("var2")); String levelVar = Tools.isEmpty(lpd.get("var3"))?"":Tools.excelHandle(lpd.get("var3")); String measuresVar = Tools.isEmpty(lpd.get("var4"))?"":Tools.excelHandle(lpd.get("var4")); String departNameVar = Tools.isEmpty(lpd.get("var5"))?"":Tools.excelHandle(lpd.get("var5")); String accidentsNameVar = Tools.isEmpty(lpd.get("var6"))?"":Tools.excelHandle(lpd.get("var6")); String accidents7Var = Tools.isEmpty(lpd.get("var7"))?"":Tools.excelHandle(lpd.get("var7")); String accidents8Var = Tools.isEmpty(lpd.get("var8"))?"":Tools.excelHandle(lpd.get("var8")); String accidents9Var = Tools.isEmpty(lpd.get("var9"))?"":Tools.excelHandle(lpd.get("var9")); String accidents10Var = Tools.isEmpty(lpd.get("var10"))?"":Tools.excelHandle(lpd.get("var10")); String emeMeasuresVar = Tools.isEmpty(lpd.get("var11"))?"":Tools.excelHandle(lpd.get("var11")); if(!deptMapAll.containsKey(departNameVar)) { errorStr.append("第"+succeeNum+"行的"+header.get(5)+"未找到名称为\""+departNameVar+"\"的管控部门"+";\n"); continue; } PageData depart = (PageData) deptMapAll.get(departNameVar); if(!riskMapAll.containsKey(depart.getString("DEPARTMENT_ID")+riskVar)) { errorStr.append("第"+succeeNum+"行的"+header.get(0)+"未找到名称为\""+riskVar+"\"的风险点(单元)"+";\n"); continue; } PageData riskVal = (PageData)riskMapAll.get(depart.getString("DEPARTMENT_ID")+riskVar); if(!identMapAll.containsKey(riskVal.getString("RISKUNIT_ID")+identificationVar)) { errorStr.append("第"+succeeNum+"行的"+header.get(1)+"未找到名称为\""+identificationVar+"\"的辨识部位"+";\n"); continue; } if(!levelMapAll.containsKey(levelVar)) { errorStr.append("第"+succeeNum+"行的"+header.get(3)+"未找到名称为\""+levelVar+"\"的风险分级"+";\n"); continue; } if(!Tools.isEmpty(accidents7Var)) { if(!accMapList.containsKey(accidents7Var)) { errorStr.append("第"+succeeNum+"行的"+header.get(7)+"未找到名称为\""+accidents7Var+"\"的事故类型(1)"+";\n"); continue; } } if(!Tools.isEmpty(accidents8Var)) { if(!accMapList.containsKey(accidents8Var)) { errorStr.append("第"+succeeNum+"行的"+header.get(8)+"未找到名称为\""+accidents8Var+"\"的事故类型(2)"+";\n"); continue; } } if(!Tools.isEmpty(accidents9Var)) { if(!accMapList.containsKey(accidents9Var)) { errorStr.append("第"+succeeNum+"行的"+header.get(9)+"未找到名称为\""+accidents9Var+"\"的事故类型(3)"+";\n"); continue; } } if(!Tools.isEmpty(accidents10Var)) { if(!accMapList.containsKey(accidents10Var)) { errorStr.append("第"+succeeNum+"行的"+header.get(10)+"未找到名称为\""+accidents10Var+"\"的事故类型(4)"+";\n"); continue; } } PageData identVal = (PageData) identMapAll.get(riskVal.getString("RISKUNIT_ID")+identificationVar); Dictionaries levelVal = (Dictionaries) levelMapAll.get(levelVar); // Dictionaries acc7Val = (Dictionaries) accMapList.get(accidents7Var); String accidentsId = ""; String accidentsNames =""; // accidentsId +=acc7Val.getBIANMA(); // accidentsNames += acc7Val.getNAME(); if(!Tools.isEmpty(accidents7Var)) { Dictionaries acc7Val = new Dictionaries(); acc7Val = (Dictionaries) accMapList.get(accidents7Var); accidentsId += ","+acc7Val.getBIANMA(); accidentsNames +=","+acc7Val.getNAME(); } if(!Tools.isEmpty(accidents8Var)) { Dictionaries acc8Val = new Dictionaries(); acc8Val = (Dictionaries) accMapList.get(accidents8Var); accidentsId += ","+acc8Val.getBIANMA(); accidentsNames +=","+acc8Val.getNAME(); } if(!Tools.isEmpty(accidents9Var)) { Dictionaries acc9Val = new Dictionaries(); acc9Val = (Dictionaries) accMapList.get(accidents9Var); accidentsId += ","+acc9Val.getBIANMA(); accidentsNames +=","+acc9Val.getNAME(); } if(!Tools.isEmpty(accidents10Var)) { Dictionaries acc10Val = new Dictionaries(); acc10Val = (Dictionaries) accMapList.get(accidents10Var); accidentsId += ","+acc10Val.getBIANMA(); accidentsNames +=","+acc10Val.getNAME(); } if(Tools.notEmpty(accidentsId)) { accidentsId = accidentsId.substring(1, accidentsId.length()); } if(Tools.notEmpty(accidentsNames)) { accidentsNames = accidentsNames.substring(1, accidentsNames.length()); } PageData riskPoint = new PageData(); riskPoint.put("RISK_UNIT_ID", riskVal.getString("RISKUNIT_ID")); riskPoint.put("IDENTIFICATION_ID", identVal.getString("IDENTIFICATIONPARTS_ID")); riskPoint.put("RISK_DESCR", riskPointVar); riskPoint.put("LEVELID", levelVal.getBIANMA()); riskPoint.put("MEASURES", measuresVar); riskPoint.put("DEPARTMENT_ID", depart.getString("DEPARTMENT_ID")); riskPoint.put("USER_ID", accidentsNameVar); riskPoint.put("ACCIDENTS", accidentsId); riskPoint.put("ACCIDENTS_NAME", accidentsNames); riskPoint.put("EME_MEASURES", emeMeasuresVar); riskPoint.put("RISKPOINT_ID", this.get32UUID()); riskPoint.put("ISDELETE", "0"); riskPoint.put("CREATOR", Jurisdiction.getUsername()); riskPoint.put("CREATTIME", DateUtil.date2Str(new Date())); riskPoint.put("OPERATOR",Jurisdiction.getUsername()); riskPoint.put("OPERATTIME", DateUtil.date2Str(new Date())); riskPoint.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); riskPoint.put("SORT", rislPointCount +succeeNum); rList.add(riskPoint); } if(Tools.isEmpty(errorStr.toString())) { for(PageData r:rList) { riskpointService.save(r); PageData riskcheckitem = new PageData(); riskcheckitem.put("RISKCHECKITEM_ID", this.get32UUID()); //主键 riskcheckitem.put("CHECK_CONTENT", r.getString("MEASURES")); riskcheckitem.put("ISDELETE", "0"); //是否删除 riskcheckitem.put("CREATOR",Jurisdiction.getUsername()); //添加人 riskcheckitem.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 riskcheckitem.put("OPERATOR", Jurisdiction.getUsername()); //修改人 riskcheckitem.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 riskcheckitem.put("RISKPOINT_ID", r.getString("RISKPOINT_ID")); //风险点 riskcheckitemService.save(riskcheckitem); } errorStr.append("成功导入"+rList.size()+"条数据!"); }else { errInfo = "fail"; } } map.put("result", errInfo); //返回结果 map.put("resultStr", errorStr.toString()); return map; } }