qa-prevention-gwj/src/main/java/com/zcloud/controller/bus/RiskPointTemporaryControlle...

976 lines
38 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.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<String,Object> map = new HashMap<String,Object>();
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<JSONObject> list = (List<JSONObject>)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<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
// //获取部门下拉树
// List<PageData> zdepartmentPdList = new ArrayList<PageData>();
// 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<PageData> zdepartmentPdList = new ArrayList<PageData>();
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<PageData> 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<String,String> map = new HashMap<String,String>();
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<String,Object> map = new HashMap<String,Object>();
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<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());
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<PageData> 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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<PageData> riskAll = riskpointService.statisticsAll(pd);
//int riskCount =
//List<PageData> riskAll = identificationPartsService.getBiCount(pd);
List<PageData> idAll = identificationPartsService.listIndexAll(pd);
List<PageData> 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<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(",");
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<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
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<PageData> varOList = riskpointService.listAllByDc(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("CORP_NAME")); //1
vpd.put("var2", varOList.get(i).getString("RISKUNITNAME")); //1
vpd.put("var3", varOList.get(i).getString("PARTSNAME")); //2
vpd.put("var4", varOList.get(i).getString("RISK_DESCR")); //3
//vpd.put("var4", varOList.get(i).getString("RISK_POSITION_ID")); //4
vpd.put("var5", varOList.get(i).getString("LEVELID")); //5
vpd.put("var6", varOList.get(i).getString("MEASURES")); //6
vpd.put("var7", varOList.get(i).getString("ACCIDENTS_NAME")); //7
vpd.put("var8", varOList.get(i).getString("EME_MEASURES")); //8
vpd.put("var9", varOList.get(i).getString("DEPARTMENT_ID")); //9
vpd.put("var10", varOList.get(i).getString("USER_ID")); //10
vpd.put("var11", varOList.get(i).getString("CREATOR")); //12
vpd.put("var12", varOList.get(i).getString("CREATTIME")); //13
vpd.put("var13", varOList.get(i).getString("OPERATOR")); //14
vpd.put("var14", varOList.get(i).getString("OPERATTIME")); //15
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
/**获取风险点下拉框选项
* @param page
* @throws Exception
*/
@RequestMapping(value="/getPointSelect")
@ResponseBody
public Object getPointSelect() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业
List<PageData> positionList = riskPointPositionService.listAll(pd);
List<PageData> partsList = identificationPartsService.listAll(pd);
List<PageData> 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<String,String> map = new HashMap<String,String>();
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<PageData> rList = new ArrayList<PageData>();
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<PageData> 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<PageData> 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<PageData> 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<String,String> map = new HashMap<String,String>();
String errInfo = "success";
PageData pdPublic = new PageData();
pdPublic = this.getPageData();
StringBuffer errorStr = new StringBuffer();
List<PageData> rList = new ArrayList<PageData>();
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<PageData> 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<String> 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<PageData> riskUnitList=riskUnitService.listAll(corpinfoId);
Map<String, Object> riskMapAll = new HashMap<>();
for (PageData pageData : riskUnitList) {
riskMapAll.put(pageData.getString("DEPARTMENT_ID")+Tools.excelHandle(pageData.getString("RISKUNITNAME")), pageData);
}
List<PageData> idenList = identificationpartsService.listAll(corpinfoId);
Map<String, Object> identMapAll = new HashMap<>();
for (PageData pageData : idenList) {
identMapAll.put(pageData.getString("RISK_UNIT_ID")+Tools.excelHandle(pageData.getString("PARTSNAME")), pageData);
}
List<Dictionaries> levelAll =dictionariesService.listSubDictByParentId("5a81e63ec0e94d919b3138bc01dbef6b");//获取全部的风险等级
Map<String, Object> levelMapAll = new HashMap<>();
for (Dictionaries dictionaries : levelAll) {
levelMapAll.put(Tools.excelHandle(dictionaries.getNAME()), dictionaries);
}
List<PageData> deptListAll = departmentService.listAll(corpinfoId);
Map<String, Object> deptMapAll = new HashMap<>();
for (PageData pageData : deptListAll) {
deptMapAll.put(Tools.excelHandle(pageData.getString("NAME")), pageData);
}
List<Dictionaries> accListAll =dictionariesService.listSubDictByParentId("cee1190ea96a4ca9b7bca81e11f0d0f8");//获取全部的事故类型
Map<String, Object> 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<header.size();i++) {
if(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;
}
}