public void restore(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    RegraEscalonamentoDTO regraEscalonamentoDTO = (RegraEscalonamentoDTO) document.getBean();
    RegraEscalonamentoService service =
        (RegraEscalonamentoService)
            ServiceLocator.getInstance()
                .getService(RegraEscalonamentoService.class, WebUtil.getUsuarioSistema(request));
    regraEscalonamentoDTO = (RegraEscalonamentoDTO) service.restore(regraEscalonamentoDTO);

    if ((regraEscalonamentoDTO != null)
        && (regraEscalonamentoDTO.getIdRegraEscalonamento() != null)) {

      EmpregadoService empregadoService =
          (EmpregadoService)
              ServiceLocator.getInstance()
                  .getService(EmpregadoService.class, WebUtil.getUsuarioSistema(request));
      if (regraEscalonamentoDTO.getIdSolicitante() != null) {
        EmpregadoDTO empregadoDTO =
            empregadoService.restoreByIdEmpregado(regraEscalonamentoDTO.getIdSolicitante());
        regraEscalonamentoDTO.setNomeSolicitante(
            ((empregadoDTO == null) || (empregadoDTO.getNome() == null))
                ? ""
                : empregadoDTO.getNome());
      }
      ServicoService servicoService =
          (ServicoService)
              ServiceLocator.getInstance()
                  .getService(ServicoService.class, WebUtil.getUsuarioSistema(request));
      if (regraEscalonamentoDTO.getIdServico() != null) {
        ServicoDTO servicoDTO = servicoService.findById(regraEscalonamentoDTO.getIdServico());
        regraEscalonamentoDTO.setServico(
            ((servicoDTO == null) || (servicoDTO.getNomeServico() == null))
                ? ""
                : servicoDTO.getNomeServico());
      }

      if (regraEscalonamentoDTO.getIdGrupo() != null) {
        GrupoService grupoService =
            (GrupoService)
                ServiceLocator.getInstance()
                    .getService(GrupoService.class, WebUtil.getUsuarioSistema(request));
        GrupoDTO grupoDTO = grupoService.listGrupoById(regraEscalonamentoDTO.getIdGrupo());
        regraEscalonamentoDTO.setGrupo(
            ((grupoDTO == null) || (grupoDTO.getDescricao() == null))
                ? ""
                : grupoDTO.getDescricao());
      }
    }
    atualizaTblGrupoExecutor(document, request, response, regraEscalonamentoDTO);
    HTMLForm form = document.getForm("form");
    form.clear();
    if (regraEscalonamentoDTO != null) {
      form.setValues(regraEscalonamentoDTO);
    }
  }
  public void verificaImpactos(
      Integer idItemCfg,
      DocumentHTML document,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    UsuarioDTO usrDto = (UsuarioDTO) br.com.centralit.citcorpore.util.WebUtil.getUsuario(request);
    if (usrDto == null) {
      return;
    }
    HashMap map = new HashMap<>();
    HashMap map2 = new HashMap<>();
    ImagemItemConfiguracaoService imagemItemConfiguracaoService =
        (ImagemItemConfiguracaoService)
            ServiceLocator.getInstance().getService(ImagemItemConfiguracaoService.class, null);
    Collection colHierarq =
        imagemItemConfiguracaoService.findItensRelacionadosHierarquia(idItemCfg);
    String strTables =
        "<b><u>"
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.iCsVinculados")
            + "</u></b>";
    strTables += "<table>";
    if (colHierarq != null && colHierarq.size() > 0) {
      for (Iterator it = colHierarq.iterator(); it.hasNext(); ) {
        ItemConfiguracaoDTO itemConfiguracaoAux = (ItemConfiguracaoDTO) it.next();
        ItemConfiguracaoDTO itemConfiguracaoAux2 =
            (ItemConfiguracaoDTO) map.get("" + itemConfiguracaoAux.getIdItemConfiguracao());
        if (itemConfiguracaoAux2 != null) {
          continue;
        }
        map.put("" + itemConfiguracaoAux.getIdItemConfiguracao(), itemConfiguracaoAux);
        strTables += "<tr>";
        strTables += "<td>";
        if (itemConfiguracaoAux.getTipoVinculo().equalsIgnoreCase("FILHO")) {
          strTables +=
              "<img src='"
                  + Constantes.getValue("SERVER_ADDRESS")
                  + Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/pages/gerenciaConfiguracaoTree/images/item_relation.png' border='0'/>";
        } else {
          strTables +=
              "<img src='"
                  + Constantes.getValue("SERVER_ADDRESS")
                  + Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/pages/gerenciaConfiguracaoTree/images/item_menu_relation.png' border='0'/>";
        }
        strTables += "</td>";
        strTables += "<td>";
        strTables += "" + itemConfiguracaoAux.getIdentificacao();
        strTables += "</td>";
        strTables += "</tr>";
      }
    } else {
      strTables += "<tr>";
      strTables += "<td>";
      strTables += "" + UtilI18N.internacionaliza(request, "MSG04") + "";
      strTables += "</td>";
      strTables += "</tr>";
    }
    strTables += "</table>";

    strTables +=
        "<b><u>"
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.servicosVinculados")
            + "</u></b>";
    strTables += "<table>";
    colHierarq = imagemItemConfiguracaoService.findServicosRelacionadosHierarquia(idItemCfg);
    if (colHierarq != null && colHierarq.size() > 0) {
      for (Iterator it = colHierarq.iterator(); it.hasNext(); ) {
        ServicoDTO servicoDTO = (ServicoDTO) it.next();
        ServicoDTO servicoAux2 = (ServicoDTO) map2.get("" + servicoDTO.getIdServico());
        if (servicoAux2 != null) {
          continue;
        }
        map2.put("" + servicoDTO.getIdServico(), servicoDTO);
        strTables += "<tr>";
        strTables += "<td>";
        strTables +=
            "<img src='"
                + Constantes.getValue("SERVER_ADDRESS")
                + Constantes.getValue("CONTEXTO_APLICACAO")
                + "/pages/gerenciaConfiguracaoTree/images/item_relation.png' border='0'/>";
        strTables += "</td>";
        strTables += "<td>";
        strTables += "" + servicoDTO.getNomeServico();
        strTables += "</td>";
        strTables += "</tr>";
      }
    } else {
      strTables += "<tr>";
      strTables += "<td>";
      strTables += "" + UtilI18N.internacionaliza(request, "MSG04") + "";
      strTables += "</td>";
      strTables += "</tr>";
    }
    strTables += "</table>";

    document.getElementById("divImpactos").setInnerHTML(strTables);
  }