package edu.sjtu.infosec.ismp.manager.GOSP.web.actions; import java.io.PrintWriter; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.ArrayList; 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.GOSP.comm.LogUtil; import edu.sjtu.infosec.ismp.manager.GOSP.model.LawsAndRules; import edu.sjtu.infosec.ismp.manager.GOSP.service.LawsAndRulesService; import edu.sjtu.infosec.ismp.manager.GOSP.web.form.LawRulesForm; 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.manager.SYSM.user.self.service.DomainService; import edu.sjtu.infosec.ismp.security.Domain; import edu.sjtu.infosec.ismp.security.OperatorDetails; /** * 上传信息的更新和删除 * * @author cxk * * date:2010-11-17 */ @SuppressWarnings("unused") public class UpdateAndDelLawRulesAction extends DispatchAction{ /** * service 接口的注入 */ private LawsAndRulesService lawsAndRulesService; private DomainService domainService; private SystemLogService systemLogService; public void setLawsAndRulesService(LawsAndRulesService lawsAndRulesService) { this.lawsAndRulesService = lawsAndRulesService; } public void setDomainService(DomainService domainService) { this.domainService = domainService; } public void setSystemLogService(SystemLogService systemLogService) { this.systemLogService = systemLogService; } /** * 通过法律法规(上传信息)ID得到法律法规(LawsAndRules) * * @param mapping * @param form * @param request * @param response * @return */ public ActionForward updateValue(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response){ try{ String uploadId = request.getParameter("id"); request.getSession().setAttribute("uploadId", uploadId); if(null != uploadId && !"".equals(uploadId)){ LawsAndRules lawsAndRules = lawsAndRulesService.findById(Integer.parseInt(uploadId)); request.getSession().setAttribute("lawsAndRules", lawsAndRules); } OperatorDetails user = SecurityUserHolder.getCurrentUser(); List<Domain> userDomainList = new ArrayList<Domain>(); if(user != null){ userDomainList = user.getDomainList(); }else{ userDomainList = null; } request.setAttribute("udl", userDomainList); }catch(Exception e){ e.printStackTrace(); } return mapping.findForward("updateLawRules"); } /** * 通过 LawAndRules 来更新法律法规相关的信息 * * @param mapping * @param form * @param request * @param response * @return */ public ActionForward update(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response){ /** * 加载日志信息 */ LogUtil.init(); SystemLog log = new SystemLog(); try{ LawRulesForm lawRulesForm = (LawRulesForm)form; LawsAndRules lawsAndRules = new LawsAndRules(); String ID = request.getSession().getAttribute("uploadId").toString(); LawsAndRules lRInfo = (LawsAndRules)request.getSession().getAttribute("lawsAndRules"); /** * 格式化当前系统日期 */ SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateTime = dateFm.format(new java.util.Date().getTime()); java.util.Date timeDate = dateFm.parse(dateTime); java.sql.Timestamp dTime = new java.sql.Timestamp(timeDate.getTime()); if(null != ID && !"".equals(ID)){ lawsAndRules.setId(Integer.parseInt(ID)); lawsAndRules.setName(lRInfo.getName()); // lawsAndRules.setDomain(domainService.findById(lawRulesForm.getDmid())); lawsAndRules.setSn(lawRulesForm.getSn()); lawsAndRules.setFile_type(lRInfo.getFile_type()); lawsAndRules.setIssueUnit(lawRulesForm.getIssueUnit()); lawsAndRules.setIssueDate(dTime); lawsAndRules.setUploadTime(new Timestamp(new Date().getTime())); lawsAndRules.setRemark(lawRulesForm.getRemark()); lawsAndRulesService.update(lawsAndRules); /** * 加入日志相关的信息 */ log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("修改文件:"+lRInfo.getName()); log.setControl("成功!"); systemLogService.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(); return null; } }catch(Exception e){ /** * 加入日志相关的信息 */ LawsAndRules lRInfo = (LawsAndRules)request.getSession().getAttribute("lawsAndRules"); log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("修改文件:"+lRInfo.getName()); log.setControl("失败!"); systemLogService.saveSystemLog(log); e.printStackTrace(); } return mapping.findForward("updateLawRulesSucc"); } /** * 通过 LawsAndRules 来删除法律法规的相关记录 * * @param mapping * @param form * @param request * @param response * @return */ public ActionForward deleteLawRules(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response){ /** * 加载日志信息 */ LogUtil.init(); SystemLog log = new SystemLog(); try{ String ID = request.getParameter("id"); request.setAttribute("currPage", request.getParameter("currPage")); if(null != ID && !"".equals(ID)){ LawsAndRules lawsAndRules = lawsAndRulesService.findById(Integer.parseInt(ID)); request.setAttribute("lawsAndRules", lawsAndRules); lawsAndRulesService.delete(lawsAndRules); /** * 加入日志相关的信息 */ log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("删除文件:"+lawsAndRules.getName()); log.setControl("成功!"); systemLogService.saveSystemLog(log); } }catch(Exception e){ LawsAndRules lawsAndRules = (LawsAndRules)request.getAttribute("lawsAndRules"); log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("删除文件:"+lawsAndRules.getName()); log.setControl("失败!"); systemLogService.saveSystemLog(log); e.printStackTrace(); } return mapping.findForward("deleteSuccess"); } }