package edu.sjtu.infosec.ismp.manager.ERM.web.actions.respList; import java.io.PrintWriter; import java.sql.Timestamp; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import org.infosec.ismp.manager.rmi.comm.model.SystemModelInfo; import org.infosec.ismp.manager.rmi.lm.pfLog.model.SystemLog; import edu.sjtu.infosec.ismp.manager.ERM.model.ContiBia; import edu.sjtu.infosec.ismp.manager.ERM.model.PriorityLevel; import edu.sjtu.infosec.ismp.manager.ERM.service.BiaService; import edu.sjtu.infosec.ismp.manager.ERM.web.form.BiaForm; import edu.sjtu.infosec.ismp.manager.LM.pfLog.service.SystemLogService; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder; import edu.sjtu.infosec.ismp.security.OperatorDetails; import edu.sjtu.infosec.ismp.security.Role; public class BiaAction extends DispatchAction { private BiaService biaService; private SystemLogService logService; public void setLogService(SystemLogService logService){ this.logService = logService; } public void setBiaService(BiaService biaService) { this.biaService = biaService; } //查询bia是否存在 public ActionForward showBia(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String respid=request.getParameter("id"); request.getSession().setAttribute("respid", respid); if(request.getParameter("respname")!=null){ request.setAttribute("respname",new String(request.getParameter("respname").getBytes("ISO8859-1"), "UTF-8")); } List<ContiBia> biaList=biaService.findBiaById(biaService.findRespBoById(respid)); if(!biaList.isEmpty() && biaList.size()>0 && null!=biaList) { request.setAttribute("biaList", biaList); } //查询高中低级别 List<PriorityLevel> plist=biaService.findPrior(); request.getSession().setAttribute("plist", plist); return mapping.findForward("showBia"); } //添加或更新bia public ActionForward savaorupdate(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { boolean flag=true; BiaForm biaform=(BiaForm)form; ContiBia con=new ContiBia(); con.setBusiness(biaform.getBusiness()); con.setPriorityLevel(biaService.findPriByid(biaform.getPriorityLevel())); con.setAssets(biaform.getAssets()); con.setRto(biaform.getRto()); con.setRtpo(biaform.getRtpo()); con.setRespInfo(biaService.findRespBoById(request.getSession().getAttribute("respid").toString())); if(biaform.getId()<=0){ con.setId(null); }else{ flag=false; con.setId(biaform.getId()); } biaService.saveorupdate(con); //添加日志 OperatorDetails user = SecurityUserHolder.getCurrentUser(); SystemLog log = new SystemLog(); log.setUsername(user.getUsername()); List<Role> list=user.getRoleList(); String roles=""; for(Role role:list){ roles+=role.getRole()+","; } log.setRoleName(roles.substring(0,roles.length()-1)); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_ERM); if(flag){ log.setOperationDesc("应急响应模块,新增BIA信息,BIA的ID为:"+con.getId()+",BIA业务过程为:"+con.getBusiness()); }else{ log.setOperationDesc("应急响应模块,修改BIA信息,BIA的ID为:"+con.getId()+",BIA业务过程为:"+con.getBusiness()); } log.setControl("成功"); logService.saveSystemLog(log); PrintWriter out = response.getWriter(); out = response.getWriter(); response.setContentType("text/html; charset=UTF-8"); out.println("<script language=\"javascript\">"); out.println("window.opener.location.href=window.opener.location.href;"); out.println("window.opener.location.reload();"); out.println("window.close();"); out.println("</script>"); out.close(); } catch (Exception e) { e.printStackTrace(); } return null; } }