/**
  * 修改当前登录用户信息
  *
  * @param
  * @return
  */
 public ActionForward updateUserInfo(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   CommonActionForm cForm = (CommonActionForm) form;
   UserInfoVo userInfoVo = getSessionContainer(request).getUserInfo();
   UserService service = (UserService) getService("userService");
   Dto indDto = cForm.getParamAsDto(request);
   Dto outDto = new BaseDto(G4Constants.TRUE);
   outDto.put("flag", G4Constants.SUCCESS);
   String password = G4Utils.encryptBasedDes(indDto.getAsString("password2"));
   if (password.equals(userInfoVo.getPassword())) {
     service.updateUserItem4IndexPage(indDto);
     outDto.put("flag", G4Constants.SUCCESS);
     userInfoVo.setPassword(G4Utils.encryptBasedDes(indDto.getAsString("password1")));
     getSessionContainer(request).setUserInfo(userInfoVo);
   } else {
     outDto.setSuccess(G4Constants.FALSE);
     outDto.put("flag", G4Constants.FAILURE);
   }
   write(outDto.toJson(), response);
   return mapping.findForward(null);
 }
 /** 标签开始 */
 public int doStartTag() throws JspException {
   HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
   UserInfoVo userInfo = WebUtils.getSessionContainer(request).getUserInfo();
   String contextPath = request.getContextPath();
   request.setAttribute("webContext", contextPath);
   Dto dto = new BaseDto();
   PropertiesHelper pHelper = PropertiesFactory.getPropertiesHelper(PropertiesFile.G4);
   dto.put("title", WebUtils.getParamValue("SYS_TITLE", request));
   dto.put("contextPath", contextPath);
   String titleIcon = WebUtils.getParamValue("TITLE_ICON", request);
   dto.put("titleIcon", G4Utils.isEmpty(titleIcon) ? "G4Studio.ico" : titleIcon);
   Dto themeDto = new BaseDto();
   Dto resultDto = new BaseDto();
   if (G4Utils.isNotEmpty(userInfo)) {
     themeDto.put("userid", userInfo.getUserid());
     resultDto = armTagSupportService.getEauserSubInfo(themeDto);
   }
   String theme = null;
   if (G4Utils.isNotEmpty(resultDto)) theme = resultDto.getAsString("theme");
   String defaultTheme = WebUtils.getParamValue("SYS_DEFAULT_THEME", request);
   theme = G4Utils.isEmpty(theme) ? defaultTheme : theme;
   dto.put("theme", theme);
   String layout = null;
   if (G4Utils.isNotEmpty(resultDto)) layout = resultDto.getAsString("layout");
   String defaultLayout = WebUtils.getParamValue("APP_LAYOUT", request);
   layout = G4Utils.isEmpty(layout) ? defaultLayout : layout;
   dto.put("layout", layout);
   String background = null;
   if (G4Utils.isNotEmpty(resultDto)) background = resultDto.getAsString("background");
   String defaultBackfround = WebUtils.getParamValue("DESKTOP_BACKGROUND", request);
   background = G4Utils.isEmpty(background) ? defaultBackfround : background;
   dto.put("background", background);
   PropertiesHelper p = PropertiesFactory.getPropertiesHelper(PropertiesFile.G4);
   dto.put("extMode", p.getValue("extMode", TagConstant.Ext_Mode_Run));
   dto.put("runMode", p.getValue("runMode", TagConstant.RUN_MODE_NORMAL));
   dto.put("ajaxErrCode", G4Constants.Ajax_Timeout);
   String micolor = pHelper.getValue("micolor", "blue");
   dto.put("username", WebUtils.getSessionContainer(request).getUserInfo().getUsername());
   dto.put("account", WebUtils.getSessionContainer(request).getUserInfo().getAccount());
   Dto qDto = new BaseDto();
   qDto.put("deptid", WebUtils.getSessionContainer(request).getUserInfo().getDeptid());
   dto.put("deptname", armTagSupportService.getDepartmentInfo(qDto).getAsString("deptname"));
   dto.put("userInfo", userInfo);
   List menuList = getMenuList();
   dto.put("menuList", menuList);
   dto.put("paramList", WebUtils.getParamList(request));
   TemplateEngine engine = TemplateEngineFactory.getTemplateEngine(TemplateType.VELOCITY);
   DefaultTemplate template = new FileTemplate();
   template.setTemplateResource(TagHelper.getTemplatePath(getClass().getName()));
   StringWriter writer = engine.mergeTemplate(template, dto);
   try {
     pageContext.getOut().write(writer.toString());
   } catch (IOException e) {
     log.error(G4Constants.Exception_Head + e.getMessage());
     e.printStackTrace();
   }
   return super.SKIP_BODY;
 }
 /** 初始化 */
 public ActionForward adcOvertimeDetailInit(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   super.removeSessionAttribute(request, "deptid");
   Dto inDto = new BaseDto();
   String deptid = super.getSessionContainer(request).getUserInfo().getDeptid();
   inDto.put("deptid", deptid);
   Dto outDto = organizationService.queryDeptinfoByDeptid(inDto);
   request.setAttribute("rootDeptid", outDto.getAsString("deptid"));
   request.setAttribute("rootDeptname", outDto.getAsString("deptname"));
   UserInfoVo userInfoVo = getSessionContainer(request).getUserInfo();
   request.setAttribute("login_account", userInfoVo.getAccount());
   return mapping.findForward("reportAdcOvertimeDetailView");
 }
 /**
  * 保存用户自定义布局
  *
  * @param
  * @return
  */
 public ActionForward saveUserLayout(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   Dto dto = new BaseDto();
   String layout = request.getParameter("layout");
   dto.put("userid", super.getSessionContainer(request).getUserInfo().getUserid());
   dto.put("layout", layout);
   Dto outDto = organizationService.saveUserLayout(dto);
   UserInfoVo userInfoVo = getSessionContainer(request).getUserInfo();
   userInfoVo.setLayout(layout);
   getSessionContainer(request).setUserInfo(userInfoVo);
   String jsonString = JsonHelper.encodeObject2Json(outDto);
   write(jsonString, response);
   return mapping.findForward(null);
 }
 /**
  * 解锁系统
  *
  * @param
  * @return
  */
 public ActionForward unlockSystem(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws Exception {
   CommonActionForm cForm = (CommonActionForm) form;
   UserInfoVo userInfoVo = getSessionContainer(request).getUserInfo();
   Dto indDto = cForm.getParamAsDto(request);
   String password = G4Utils.encryptBasedDes(indDto.getAsString("password"));
   Dto outDto = new BaseDto(G4Constants.TRUE);
   if (password.equals(userInfoVo.getPassword())) {
     outDto.put("flag", G4Constants.SUCCESS);
   } else {
     outDto.put("flag", G4Constants.FAILURE);
   }
   write(outDto.toJson(), response);
   return mapping.findForward(null);
 }
 /** 标签开始 */
 public int doStartTag() throws JspException {
   HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
   UserInfoVo userInfo = WebUtils.getSessionContainer(request).getUserInfo();
   String contextPath = request.getContextPath();
   request.setAttribute("webContext", contextPath);
   Dto dto = new BaseDto();
   PropertiesHelper pHelper = PropertiesFactory.getPropertiesHelper(PropertiesFile.G4);
   String micolor = pHelper.getValue("micolor", "blue");
   dto.put("micolor", micolor);
   String urlSecurity = pHelper.getValue("urlSecurity", "1");
   dto.put("urlSecurity", urlSecurity);
   dto.put("urlSecurity2", urlSecurity2);
   dto.put("userInfo", userInfo);
   dto.put("ajaxErrCode", G4Constants.Ajax_Timeout);
   dto.put("requestURL", request.getRequestURL());
   dto.put("contextPath", contextPath);
   dto.put("doctypeEnable", doctypeEnable);
   dto.put("extDisabled", G4Utils.isEmpty(extDisabled) ? "false" : extDisabled);
   dto.put("title", G4Utils.isEmpty(title) ? "G4Studio" : title);
   dto.put("jqueryEnabled", G4Utils.isEmpty(jqueryEnabled) ? "false" : jqueryEnabled);
   dto.put("showLoading", G4Utils.isEmpty(showLoading) ? "true" : showLoading);
   dto.put("uxEnabled", uxEnabled);
   dto.put("exportExceptionWindow", exportExceptionWindow);
   dto.put("fcfEnabled", fcfEnabled);
   dto.put("exportParams", exportParams);
   dto.put("exportUserinfo", exportUserinfo);
   dto.put("isSubPage", isSubPage);
   dto.put("pageLoadMsg", WebUtils.getParamValue("PAGE_LOAD_MSG", request));
   String titleIcon = WebUtils.getParamValue("TITLE_ICON", request);
   dto.put("titleIcon", G4Utils.isEmpty(titleIcon) ? "G4Studio.ico" : titleIcon);
   if (exportParams.equals("true")) {
     dto.put("paramList", WebUtils.getParamList(request));
   }
   // String agent = request.getHeader("user-agent");
   // dto.put("firefox", agent.indexOf("Firefox") == -1 ? "false" : "true");
   PropertiesHelper p = PropertiesFactory.getPropertiesHelper(PropertiesFile.G4);
   dto.put("extMode", p.getValue("extMode", TagConstant.Ext_Mode_Run));
   dto.put("runMode", p.getValue("runMode", TagConstant.RUN_MODE_NORMAL));
   Dto themeDto = new BaseDto();
   Dto resultDto = new BaseDto();
   if (G4Utils.isNotEmpty(userInfo)) {
     themeDto.put("userid", userInfo.getUserid());
     resultDto = armTagSupportService.getEauserSubInfo(themeDto);
   }
   String theme = null;
   if (G4Utils.isNotEmpty(resultDto)) theme = resultDto.getAsString("theme");
   String defaultTheme = WebUtils.getParamValue("SYS_DEFAULT_THEME", request);
   theme = G4Utils.isEmpty(theme) ? defaultTheme : theme;
   dto.put("theme", theme);
   TemplateEngine engine = TemplateEngineFactory.getTemplateEngine(TemplateType.VELOCITY);
   DefaultTemplate template = new FileTemplate();
   template.setTemplateResource(TagHelper.getTemplatePath(getClass().getName()));
   StringWriter writer = engine.mergeTemplate(template, dto);
   try {
     pageContext.getOut().write(writer.toString());
   } catch (IOException e) {
     log.error(G4Constants.Exception_Head + e.getMessage());
     e.printStackTrace();
   }
   return super.EVAL_BODY_INCLUDE;
 }