@Override
  public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }
    HTMLForm form = document.getForm("form");
    form.clear();
    SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean();
    SolicitacaoServicoService solicitacaoServicoService =
        (SolicitacaoServicoService)
            ServiceLocator.getInstance()
                .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request));
    CalendarioService calendarioService =
        (CalendarioService) ServiceLocator.getInstance().getService(CalendarioService.class, null);
    JustificativaSolicitacaoService justificativaService =
        (JustificativaSolicitacaoService)
            ServiceLocator.getInstance().getService(JustificativaSolicitacaoService.class, null);
    solicitacaoServicoDto =
        solicitacaoServicoService.restoreAll(solicitacaoServicoDto.getIdSolicitacaoServico());
    request.setAttribute("dataHoraSolicitacao", solicitacaoServicoDto.getDataHoraSolicitacaoStr());

    HTMLSelect slaACombinar = (HTMLSelect) document.getSelectById("slaACombinar");
    slaACombinar.addOption(
        "S", "-- " + UtilI18N.internacionaliza(request, "citcorpore.comum.acombinar") + " --");
    slaACombinar.addOption(
        "N", UtilI18N.internacionaliza(request, "citcorpore.comum.definirtempo"));

    Collection colJustificativas = justificativaService.listAtivasParaSuspensao();
    document.getSelectById("idJustificativa").removeAllOptions();
    document
        .getSelectById("idJustificativa")
        .addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    if (colJustificativas != null) {
      document
          .getSelectById("idJustificativa")
          .addOptions(colJustificativas, "idJustificativa", "descricaoJustificativa", null);
    }

    Collection colCalendarios = calendarioService.list();
    document.getSelectById("idCalendario").removeAllOptions();
    document
        .getSelectById("idCalendario")
        .addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    if (colCalendarios != null) {
      document
          .getSelectById("idCalendario")
          .addOptions(colCalendarios, "idCalendario", "descricao", null);
    }
    form.setValues(solicitacaoServicoDto);
    document.executeScript("verificaMudarTipoSLA()");
  }
  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 atualizaTblGrupoExecutor(
      DocumentHTML document,
      HttpServletRequest request,
      HttpServletResponse response,
      RegraEscalonamentoDTO regraEscalonamentoDTO)
      throws Exception {
    // Restaurar tabela de escalonamento de grupos
    HTMLTable tblGrupoExecutor = document.getTableById("tblGrupoExecutor");
    tblGrupoExecutor.deleteAllRows();

    EscalonamentoService escalonamentoService =
        (EscalonamentoService)
            ServiceLocator.getInstance()
                .getService(EscalonamentoService.class, WebUtil.getUsuarioSistema(request));
    Collection<EscalonamentoDTO> colEscalonamentoDTOs =
        escalonamentoService.findByRegraEscalonamento(regraEscalonamentoDTO);
    regraEscalonamentoDTO.setColEscalonamentoDTOs(colEscalonamentoDTOs);

    if ((tblGrupoExecutor != null) && (colEscalonamentoDTOs != null)) {
      tblGrupoExecutor.addRowsByCollection(
          colEscalonamentoDTOs,
          new String[] {
            "", "idGrupoExecutor", "descricao", "prazoExecucao", "idPrioridade", "descrPrioridade"
          },
          null,
          "",
          new String[] {"gerarImgDelGrupoExecutor"},
          null,
          null);
    }
    document.executeScript(
        "HTMLUtils.applyStyleClassInAllCells('tblGrupoExecutor', 'tblGrupoExecutor');");
  }
  /**
   * Salva a Mudança de SLA da Solicitação.
   *
   * @param document
   * @param request
   * @param response
   * @throws Exception
   * @author valdoilo.damasceno Data: 25/10/2013 - Horário: 16:03. Chamada
   *     parent.pesquisarItensFiltro()
   */
  public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }

    SolicitacaoServicoDTO solicitacaoServicoDto = (SolicitacaoServicoDTO) document.getBean();
    SolicitacaoServicoService solicitacaoServicoService =
        (SolicitacaoServicoService)
            ServiceLocator.getInstance()
                .getService(SolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request));
    SolicitacaoServicoDTO solicitacaoServicoAux =
        solicitacaoServicoService.restoreAll(solicitacaoServicoDto.getIdSolicitacaoServico());
    solicitacaoServicoDto.setIdSolicitante(solicitacaoServicoAux.getIdSolicitante());
    solicitacaoServicoDto.setDataInicio(solicitacaoServicoAux.getDataInicio());
    solicitacaoServicoDto.setDataHoraSolicitacao(solicitacaoServicoAux.getDataHoraSolicitacao());
    solicitacaoServicoDto.setUsuarioDto(usuario);
    solicitacaoServicoDto.setRegistradoPor(usuario.getNomeUsuario());
    solicitacaoServicoDto.setHouveMudanca("S");
    solicitacaoServicoDto.setSituacao(solicitacaoServicoAux.getSituacao());
    solicitacaoServicoDto.setPrazohhAnterior(solicitacaoServicoAux.getPrazoHH());
    solicitacaoServicoDto.setPrazommAnterior(solicitacaoServicoAux.getPrazoMM());
    solicitacaoServicoDto.setTempoDecorridoHH(solicitacaoServicoAux.getTempoDecorridoHH());
    solicitacaoServicoDto.setTempoDecorridoMM(solicitacaoServicoAux.getTempoDecorridoMM());

    if (solicitacaoServicoDto.getSlaACombinar().equalsIgnoreCase("S")) {
      solicitacaoServicoDto.setPrazoCapturaHH(0);
      solicitacaoServicoDto.setPrazoCapturaMM(0);
      solicitacaoServicoDto.setPrazoHH(0);
      solicitacaoServicoDto.setPrazoMM(0);
    }
    solicitacaoServicoService.updateSLA(solicitacaoServicoDto);

    document.executeScript("parent.refreshTelaGerenciamento();");
  }
Exemple #5
0
 @Override
 public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
     throws Exception {
   UsuarioDTO usuario = WebUtil.getUsuario(request);
   if (usuario == null) {
     document.alert("Sessão expirada! Favor efetuar logon novamente!");
     document.executeScript(
         "window.location = '"
             + Constantes.getValue("SERVER_ADDRESS")
             + request.getContextPath()
             + "'");
     return;
   }
 }
 @Override
 public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
     throws Exception {
   UsuarioDTO usuarioDto = WebUtil.getUsuario(request);
   if (usuarioDto == null) {
     document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
     document.executeScript(
         "window.location = '"
             + Constantes.getValue("SERVER_ADDRESS")
             + request.getContextPath()
             + "'");
     return;
   }
 }
Exemple #7
0
 public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
     throws Exception {
   UsuarioDTO usrDto = (UsuarioDTO) WebUtil.getUsuario(request);
   if (usrDto == null) {
     return;
   }
   OpiniaoService opiniaoService =
       (OpiniaoService) ServiceLocator.getInstance().getService(OpiniaoService.class, null);
   Integer idUsuario = new Integer(usrDto.getIdUsuario());
   OpiniaoDTO opiniao = (OpiniaoDTO) document.getBean();
   opiniao.setIdUsuario(idUsuario);
   opiniao.setData(UtilDatas.getDataAtual());
   opiniao.setHora(UtilDatas.getDataHoraAtual());
   opiniaoService.create(opiniao);
   document.alert("Obrigado por dar sua opinião!");
   document.executeScript("fecharPopup()");
   document.executeScript("parent.fechaModalOpiniaoEPesquisa()");
 }
  public void preencherComboContrato(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws ServiceException, Exception {
    RegraEscalonamentoDTO regraEscalonamentoDTO = (RegraEscalonamentoDTO) document.getBean();

    ContratoService contratoService =
        (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
    ClienteService clienteService =
        (ClienteService) ServiceLocator.getInstance().getService(ClienteService.class, null);
    FornecedorService fornecedorService =
        (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, null);
    ContratosGruposService contratosGruposService =
        (ContratosGruposService)
            ServiceLocator.getInstance().getService(ContratosGruposService.class, null);
    Collection colContratos = contratoService.list();
    ContratoDTO contratoDtoAux = new ContratoDTO();

    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }

    String COLABORADORES_VINC_CONTRATOS =
        ParametroUtil.getValorParametroCitSmartHashMap(
            br.com.centralit.citcorpore.util.Enumerados.ParametroSistema
                .COLABORADORES_VINC_CONTRATOS,
            "N");
    if (COLABORADORES_VINC_CONTRATOS == null) {
      COLABORADORES_VINC_CONTRATOS = "N";
    }
    Collection colContratosColab = null;
    if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase("S")) {
      colContratosColab = contratosGruposService.findByIdEmpregado(usuario.getIdEmpregado());
    }
    Collection<ContratoDTO> listaContratos = new ArrayList<ContratoDTO>();
    ((HTMLSelect) document.getSelectById("idContrato")).removeAllOptions();
    if (colContratos != null) {
      if (colContratos.size() > 1) {
        ((HTMLSelect) document.getSelectById("idContrato"))
            .addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
      }

      for (Iterator it = colContratos.iterator(); it.hasNext(); ) {
        ContratoDTO contratoDto = (ContratoDTO) it.next();
        if (contratoDto.getDeleted() == null || !contratoDto.getDeleted().equalsIgnoreCase("y")) {
          if (COLABORADORES_VINC_CONTRATOS.equalsIgnoreCase(
              "S")) { // Se parametro de colaboradores por contrato ativo, entao filtra.
            if (colContratosColab == null) {
              continue;
            }
            if (!isContratoInList(contratoDto.getIdContrato(), colContratosColab)) {
              continue;
            }
          }

          if (regraEscalonamentoDTO != null
              && regraEscalonamentoDTO.getIdRegraEscalonamento() != null) {
            this.restore(document, request, response);
          }

          String nomeCliente = "";
          String nomeForn = "";
          ClienteDTO clienteDto = new ClienteDTO();
          clienteDto.setIdCliente(contratoDto.getIdCliente());
          clienteDto = (ClienteDTO) clienteService.restore(clienteDto);
          if (clienteDto != null) {
            nomeCliente = clienteDto.getNomeRazaoSocial();
          }
          FornecedorDTO fornecedorDto = new FornecedorDTO();
          fornecedorDto.setIdFornecedor(contratoDto.getIdFornecedor());
          fornecedorDto = (FornecedorDTO) fornecedorService.restore(fornecedorDto);
          if (fornecedorDto != null) {
            nomeForn = fornecedorDto.getRazaoSocial();
          }
          contratoDtoAux.setIdContrato(contratoDto.getIdContrato());
          if (contratoDto.getSituacao().equalsIgnoreCase("A")) {
            String nomeContrato =
                ""
                    + contratoDto.getNumero()
                    + " de "
                    + UtilDatas.convertDateToString(
                        TipoDate.DATE_DEFAULT,
                        contratoDto.getDataContrato(),
                        WebUtil.getLanguage(request))
                    + " ("
                    + nomeCliente
                    + " - "
                    + nomeForn
                    + ")";
            ((HTMLSelect) document.getSelectById("idContrato"))
                .addOption("" + contratoDto.getIdContrato(), nomeContrato);
            contratoDto.setNome(nomeContrato);
            listaContratos.add(contratoDto);
          }
        }
      }
    }
  }
  @Override
  public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {

    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert("Sessão expirada! Favor efetuar logon novamente!");
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }

    br.com.centralit.citcorpore.util.Upload upload = new br.com.centralit.citcorpore.util.Upload();

    HashMap hshRetorno[] = null;

    try {
      hshRetorno = upload.doUploadAll(request);
    } catch (Exception e) {
    }

    if (hshRetorno != null) {

      Collection fileItems = hshRetorno[1].values();
      String fileName = "";
      FileItem fi;
      if (fileItems != null && !fileItems.isEmpty()) {
        File arquivo = null;
        Iterator it = fileItems.iterator();
        while (it.hasNext()) {
          fi = (FileItem) it.next();

          if (fi.getName().length() < 1) {
            document.alert("Favor Selecionar um Arquivo!");
            document.executeScript("JANELA_AGUARDE_MENU.hide();");
            return;
          }

          String extensao = br.com.centralit.citcorpore.util.Util.getFileExtension(fi.getName());
          if (!extensao.equalsIgnoreCase("xml")) {
            document.alert("Favor selecionar uma extensão de aquivo válido: Exemplo: arquivo.xml!");
            document.executeScript("JANELA_AGUARDE_MENU.hide();");
            return;
          }
          fileName = fi.getName();
          arquivo = new File(CITCorporeUtil.caminho_real_app + "tempFiles/" + fileName);
          fi.write(arquivo);
          arquivo = null;
          System.gc();
        }

        DicionarioService dicionarioService =
            (DicionarioService)
                ServiceLocator.getInstance().getService(DicionarioService.class, null);

        Thread.sleep(5000);
        System.out.println(
            "Vai carregar o arquivo de Mensagens..."
                + CITCorporeUtil.caminho_real_app
                + "tempFiles/"
                + fileName);
        arquivo = new File(CITCorporeUtil.caminho_real_app + "tempFiles/" + fileName);
        dicionarioService.gerarCarga(arquivo);
        document.alert("Carga gerada com sucesso!");
      } else {
        document.alert("Não foi possivel gerar a carga!");
        return;
      }
      document.executeScript("JANELA_AGUARDE_MENU.hide();");
    }
  }
  /**
   * Este metodo trata do motor do sistema dinamico de gravacao de dados de visoes (montadas
   * dinamicamente)
   */
  @Override
  public void save(
      final UsuarioDTO usuarioDto,
      final DinamicViewsDTO dinamicViewDto,
      final Map map,
      final HttpServletRequest request)
      throws Exception {
    final VisaoRelacionadaDao visaoRelacionadaDao = new VisaoRelacionadaDao();
    final GrupoVisaoDao grupoVisaoDao = new GrupoVisaoDao();
    final GrupoVisaoCamposNegocioDao grupoVisaoCamposNegocioDao = new GrupoVisaoCamposNegocioDao();
    final CamposObjetoNegocioDao camposObjetoNegocioDao = new CamposObjetoNegocioDao();
    final VinculoVisaoDao vinculoVisaoDao = new VinculoVisaoDao();
    final ScriptsVisaoDao scriptsVisaoDao = new ScriptsVisaoDao();
    final MatrizVisaoDao matrizVisaoDao = new MatrizVisaoDao();
    final VisaoDao visaoDao = this.getDao();
    final TransactionControler tc = this.getDao().getTransactionControler();

    visaoRelacionadaDao.setTransactionControler(tc);
    grupoVisaoDao.setTransactionControler(tc);
    grupoVisaoCamposNegocioDao.setTransactionControler(tc);
    camposObjetoNegocioDao.setTransactionControler(tc);
    vinculoVisaoDao.setTransactionControler(tc);
    scriptsVisaoDao.setTransactionControler(tc);
    matrizVisaoDao.setTransactionControler(tc);

    final Integer idVisao = dinamicViewDto.getDinamicViewsIdVisao();
    final Collection colScripts = scriptsVisaoDao.findByIdVisao(idVisao);
    final HashMap mapScritps = new HashMap<>();
    if (colScripts != null) {
      for (final Iterator it = colScripts.iterator(); it.hasNext(); ) {
        final ScriptsVisaoDTO scriptsVisaoDTO = (ScriptsVisaoDTO) it.next();
        mapScritps.put(
            scriptsVisaoDTO.getTypeExecute() + "#" + scriptsVisaoDTO.getScryptType().trim(),
            scriptsVisaoDTO.getScript());
      }
    }

    final Collection colCamposPKPrincipal = new ArrayList<>();
    final Collection colCamposTodosPrincipal = new ArrayList<>();
    Collection colCamposTodosVinc = null;
    CamposObjetoNegocioDTO camposObjetoNegocioChaveMatriz = new CamposObjetoNegocioDTO();

    this.setInfoSave(idVisao, colCamposPKPrincipal, colCamposTodosPrincipal);

    final Collection colVisoesRelacionadas = visaoRelacionadaDao.findByIdVisaoPaiAtivos(idVisao);

    try {
      tc.start();

      if (this.isPKExists(colCamposPKPrincipal, map)) {
        String strScript =
            (String)
                mapScritps.get(
                    ScriptsVisaoDTO.SCRIPT_EXECUTE_SERVER
                        + "#"
                        + ScriptsVisaoDTO.SCRIPT_ONUPDATE.getName());
        if (strScript != null && !strScript.trim().equalsIgnoreCase("")) {
          final ScriptRhinoJSExecute scriptExecute = new ScriptRhinoJSExecute();
          final RuntimeScript runtimeScript = new RuntimeScript();
          final Context cx = Context.enter();
          final Scriptable scope = cx.initStandardObjects();
          scope.put("mapFields", scope, map);
          final String action = "UPDATE";
          scope.put("ACTION", scope, action);
          scope.put("userLogged", scope, usuarioDto);
          scope.put("transactionControler", scope, tc);
          scope.put("dinamicViewDto", scope, dinamicViewDto);
          scope.put("RuntimeScript", scope, runtimeScript);
          scope.put("language", scope, WebUtil.getLanguage(request));
          scriptExecute.processScript(
              cx,
              scope,
              strScript,
              VisaoServiceEjb.class.getName() + "_" + ScriptsVisaoDTO.SCRIPT_ONUPDATE.getName());
        }
        if (!dinamicViewDto.isAbortFuncaoPrincipal()) {
          this.updateFromMap(map, colCamposTodosPrincipal, usuarioDto, visaoDao, request);
          strScript =
              (String)
                  mapScritps.get(
                      ScriptsVisaoDTO.SCRIPT_EXECUTE_SERVER
                          + "#"
                          + ScriptsVisaoDTO.SCRIPT_AFTERUPDATE.getName());
          if (strScript != null && !strScript.trim().equalsIgnoreCase("")) {
            final ScriptRhinoJSExecute scriptExecute = new ScriptRhinoJSExecute();
            final RuntimeScript runtimeScript = new RuntimeScript();
            final Context cx = Context.enter();
            final Scriptable scope = cx.initStandardObjects();
            scope.put("mapFields", scope, map);
            final String action = "UPDATE";
            scope.put("ACTION", scope, action);
            scope.put("userLogged", scope, usuarioDto);
            scope.put("transactionControler", scope, tc);
            scope.put("dinamicViewDto", scope, dinamicViewDto);
            scope.put("RuntimeScript", scope, runtimeScript);
            scope.put("language", scope, WebUtil.getLanguage(request));
            scriptExecute.processScript(
                cx,
                scope,
                strScript,
                VisaoServiceEjb.class.getName()
                    + "_"
                    + ScriptsVisaoDTO.SCRIPT_AFTERUPDATE.getName());
          }
        }
      } else {
        String strScript =
            (String)
                mapScritps.get(
                    ScriptsVisaoDTO.SCRIPT_EXECUTE_SERVER
                        + "#"
                        + ScriptsVisaoDTO.SCRIPT_ONCREATE.getName());
        if (strScript != null && !strScript.trim().equalsIgnoreCase("")) {
          final ScriptRhinoJSExecute scriptExecute = new ScriptRhinoJSExecute();
          final RuntimeScript runtimeScript = new RuntimeScript();
          final Context cx = Context.enter();
          final Scriptable scope = cx.initStandardObjects();
          scope.put("mapFields", scope, map);
          final String action = "CREATE";
          scope.put("ACTION", scope, action);
          scope.put("userLogged", scope, usuarioDto);
          scope.put("transactionControler", scope, tc);
          scope.put("dinamicViewDto", scope, dinamicViewDto);
          scope.put("RuntimeScript", scope, runtimeScript);
          scope.put("language", scope, WebUtil.getLanguage(request));
          scriptExecute.processScript(
              cx,
              scope,
              strScript,
              VisaoServiceEjb.class.getName() + "_" + ScriptsVisaoDTO.SCRIPT_ONCREATE.getName());
        }
        if (!dinamicViewDto.isAbortFuncaoPrincipal()) {
          this.createFromMap(map, colCamposTodosPrincipal, usuarioDto, visaoDao, request);
          strScript =
              (String)
                  mapScritps.get(
                      ScriptsVisaoDTO.SCRIPT_EXECUTE_SERVER
                          + "#"
                          + ScriptsVisaoDTO.SCRIPT_AFTERCREATE.getName());
          if (strScript != null && !strScript.trim().equalsIgnoreCase("")) {
            final ScriptRhinoJSExecute scriptExecute = new ScriptRhinoJSExecute();
            final RuntimeScript runtimeScript = new RuntimeScript();
            final Context cx = Context.enter();
            final Scriptable scope = cx.initStandardObjects();
            scope.put("mapFields", scope, map);
            final String action = "CREATE";
            scope.put("ACTION", scope, action);
            scope.put("userLogged", scope, usuarioDto);
            scope.put("transactionControler", scope, tc);
            scope.put("dinamicViewDto", scope, dinamicViewDto);
            scope.put("RuntimeScript", scope, runtimeScript);
            scope.put("language", scope, WebUtil.getLanguage(request));
            scriptExecute.processScript(
                cx,
                scope,
                strScript,
                VisaoServiceEjb.class.getName()
                    + "_"
                    + ScriptsVisaoDTO.SCRIPT_AFTERCREATE.getName());
          }
        }
      }
      if (colVisoesRelacionadas != null) {
        for (final Iterator it = colVisoesRelacionadas.iterator(); it.hasNext(); ) {
          final VisaoRelacionadaDTO visaoRelacionadaDto = (VisaoRelacionadaDTO) it.next();
          final Collection colVinculos =
              vinculoVisaoDao.findByIdVisaoRelacionada(visaoRelacionadaDto.getIdVisaoRelacionada());

          final Object objFromHash =
              map.get(
                  VisaoRelacionadaDTO.PREFIXO_SISTEMA_TABELA_VINCULADA
                      + visaoRelacionadaDto.getIdVisaoFilha());
          VisaoDTO visaoDtoAux = new VisaoDTO();
          visaoDtoAux.setIdVisao(visaoRelacionadaDto.getIdVisaoFilha());
          visaoDtoAux = (VisaoDTO) visaoDao.restore(visaoDtoAux);
          MatrizVisaoDTO matrizVisaoDTO = new MatrizVisaoDTO();
          boolean ehMatriz = false;
          if (visaoDtoAux != null) {
            if (visaoDtoAux.getTipoVisao().equalsIgnoreCase(VisaoDTO.MATRIZ)) {
              ehMatriz = true;
              matrizVisaoDTO.setIdVisao(visaoDtoAux.getIdVisao());
              final Collection colMatriz = matrizVisaoDao.findByIdVisao(visaoDtoAux.getIdVisao());
              if (colMatriz != null && colMatriz.size() > 0) {
                matrizVisaoDTO = (MatrizVisaoDTO) colMatriz.iterator().next();
                camposObjetoNegocioChaveMatriz.setIdCamposObjetoNegocio(
                    matrizVisaoDTO.getIdCamposObjetoNegocio1());
                camposObjetoNegocioChaveMatriz.setIdObjetoNegocio(
                    matrizVisaoDTO.getIdObjetoNegocio());
                camposObjetoNegocioChaveMatriz =
                    (CamposObjetoNegocioDTO)
                        camposObjetoNegocioDao.restore(camposObjetoNegocioChaveMatriz);
              }
            }
          }

          if (HashMap.class.isInstance(objFromHash)) {
            final HashMap mapVinc = (HashMap) objFromHash;
            if (mapVinc != null) { // Se existir dados recebidos.
              final Collection colCamposPKVinc = new ArrayList<>();
              colCamposTodosVinc = new ArrayList<>();
              this.setInfoSave(
                  visaoRelacionadaDto.getIdVisaoFilha(), colCamposPKVinc, colCamposTodosVinc);
              // Grava os dados de informacoes vinculadas.
              if (this.isPKExists(colCamposPKVinc, mapVinc)) {
                this.updateFromMap(mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
              } else {
                this.createFromMap(mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
              }
            }
          } else if (Collection.class.isInstance(objFromHash)) {
            final Collection colVinc = (Collection) objFromHash;
            if (colVinc != null) {
              for (final Iterator it2 = colVinc.iterator(); it2.hasNext(); ) {
                Map mapVinc = (Map) it2.next();
                if (mapVinc != null) { // Se existir dados recebidos.
                  final Collection colCamposPKVinc = new ArrayList<>();
                  colCamposTodosVinc = new ArrayList<>();
                  this.setInfoSave(
                      visaoRelacionadaDto.getIdVisaoFilha(),
                      colCamposPKVinc,
                      colCamposTodosVinc); // *****
                  String tipoVinc = "";
                  if (colVinculos != null && colVinculos.size() > 0) {
                    final VinculoVisaoDTO vinculoVisaoDTO =
                        (VinculoVisaoDTO) ((List) colVinculos).get(0);
                    tipoVinc = vinculoVisaoDTO.getTipoVinculo();
                  }
                  if (ehMatriz) {
                    if (camposObjetoNegocioChaveMatriz != null) {
                      mapVinc.put(camposObjetoNegocioChaveMatriz.getNomeDB(), mapVinc.get("FLD_0"));
                    }
                    CamposObjetoNegocioDTO camposObjetoNegocioDTO = null;
                    if (colCamposPKVinc != null && colCamposPKVinc.size() > 0) {
                      for (final Iterator itVinc = colCamposPKVinc.iterator(); itVinc.hasNext(); ) {
                        camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) itVinc.next();
                        if (!camposObjetoNegocioDTO
                            .getNomeDB()
                            .trim()
                            .equalsIgnoreCase(camposObjetoNegocioChaveMatriz.getNomeDB().trim())) {
                          mapVinc.put(
                              camposObjetoNegocioDTO.getNomeDB(),
                              map.get(camposObjetoNegocioDTO.getNomeDB()));
                        }
                      }
                    }
                    if (tipoVinc == null || tipoVinc.equalsIgnoreCase("")) {
                      tipoVinc = VinculoVisaoDTO.VINCULO_1_TO_N;
                    }
                  }
                  if (tipoVinc.equalsIgnoreCase(VinculoVisaoDTO.VINCULO_N_TO_N)) {
                    // Grava os dados de informacoes vinculadas.
                    if (this.isPKExists(colCamposPKVinc, mapVinc)) {
                      this.updateFromMap(
                          mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
                    } else {
                      this.createFromMap(
                          mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
                    }
                    this.processCreateVinc(
                        visaoRelacionadaDto, colVinculos, map, mapVinc, usuarioDto, request);
                  }
                  if (tipoVinc.equalsIgnoreCase(VinculoVisaoDTO.VINCULO_1_TO_N)) {
                    mapVinc = this.createUniqueMap(map, mapVinc); // ******
                    // Grava os dados de informacoes vinculadas.
                    if (this.isPKExists(colCamposPKVinc, mapVinc)) {
                      this.updateFromMap(
                          mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
                    } else {
                      this.createFromMap(
                          mapVinc, colCamposTodosVinc, usuarioDto, visaoDao, request);
                    }
                  }
                }
              }
            }
          }
        }
      }

      if (dinamicViewDto.getIdFluxo() != null || dinamicViewDto.getIdTarefa() != null) {
        new ExecucaoSolicitacaoServiceEjb()
            .executa(
                usuarioDto,
                tc,
                dinamicViewDto.getIdFluxo(),
                dinamicViewDto.getIdTarefa(),
                dinamicViewDto.getAcaoFluxo(),
                map,
                colCamposTodosPrincipal,
                colCamposTodosVinc);
      }

      tc.commit();
      tc.close();
    } catch (final Exception e) {
      this.rollbackTransaction(tc, e);
    }
  }
  public void informacao(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {

    this.setInformacaoItemConfiguracao((InformacaoItemConfiguracaoDTO) document.getBean());
    this.getItemConfiguracao().setIdItemConfiguracao(Integer.parseInt(request.getParameter("id")));
    this.setItemConfiguracao(
        (ItemConfiguracaoDTO)
            this.getItemConfiguracaoService().restore(this.getItemConfiguracao()));
    this.setInformacaoItemConfiguracao(
        this.getInformacaoItemConfiguracaoService().listByInformacao(this.getItemConfiguracao()));

    this.getInformacaoItemConfiguracao()
        .setIdentificacaoItemConfiguracao(this.getItemConfiguracao().getIdentificacao());

    GrupoItemConfiguracaoService grupoItemConfiguracaoService =
        (GrupoItemConfiguracaoService)
            ServiceLocator.getInstance().getService(GrupoItemConfiguracaoService.class, null);
    GrupoItemConfiguracaoDTO grupoItemConfiguracaoDTO = new GrupoItemConfiguracaoDTO();
    if (this.getItemConfiguracao().getIdGrupoItemConfiguracao() != null) {
      grupoItemConfiguracaoDTO.setIdGrupoItemConfiguracao(
          this.getItemConfiguracao().getIdGrupoItemConfiguracao());
      grupoItemConfiguracaoDTO =
          (GrupoItemConfiguracaoDTO) grupoItemConfiguracaoService.restore(grupoItemConfiguracaoDTO);
      this.getInformacaoItemConfiguracao()
          .setNomeGrupoItemConfiguracao(grupoItemConfiguracaoDTO.getNomeGrupoItemConfiguracao());
    } else {
      if (!ParametroUtil.getValorParametroCitSmartHashMap(
              Enumerados.ParametroSistema.NOME_GRUPO_ITEM_CONFIG_NOVOS, " ")
          .trim()
          .equalsIgnoreCase(""))
        this.getInformacaoItemConfiguracao()
            .setNomeGrupoItemConfiguracao(
                ParametroUtil.getValorParametroCitSmartHashMap(
                    Enumerados.ParametroSistema.NOME_GRUPO_ITEM_CONFIG_NOVOS, " "));
    }

    /* Desenvolvedor: Pedro Lino - Data: 23/10/2013 - Horário: 10:54 - ID Citsmart: 120948 -
     * Motivo/Comentário: Grupo estavaparecendo NULL/ Utilizado nullToVazio para aparesentar vazio na tela
     * Obs.: Tratado tbm para identificação - Linha(s): 90 e 93 */
    StringBuilder subDiv = new StringBuilder();
    /* Cabeçalho */
    subDiv.append("<div id='cabecalhoInf'>");
    subDiv.append(
        "<h2>"
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.descricaoAtivosMaquina")
            + "</h2><hr />");
    subDiv.append("<label>");
    subDiv.append(
        ""
            + UtilI18N.internacionaliza(request, "citcorpore.comum.identificacao")
            + ": "
            + UtilStrings.nullToVazio(
                this.getInformacaoItemConfiguracao().getIdentificacaoItemConfiguracao()));
    subDiv.append("</label>");
    subDiv.append("<label>");
    subDiv.append(
        ""
            + UtilI18N.internacionaliza(request, "grupo.grupo")
            + ": "
            + UtilStrings.nullToVazio(
                this.getInformacaoItemConfiguracao().getNomeGrupoItemConfiguracao()));
    subDiv.append("</label>");
    subDiv.append("<hr />");
    subDiv.append("</div>");

    // subDiv.append("<div id='divImpactos'>");
    // subDiv.append("</div>");

    /* Treeview */
    subDiv.append("<div id='corpoInf'>");
    subDiv.append("<ul id='browser' class='filetree treeview'>");
    subDiv.append("<li class='closed' >");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder'>");
    subDiv.append("BIOS");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder'>");
    subDiv.append(
        ""
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.dataUltimoIventario")
            + "");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<li>");
    subDiv.append("<span class='file'>");
    subDiv.append(
        UtilDatas.convertDateToString(
            TipoDate.DATE_DEFAULT,
            this.getItemConfiguracao().getDataInicio(),
            WebUtil.getLanguage(request)));
    subDiv.append("</span>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea' onclick='restaurarValoresBios();'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder' onclick='restaurarValoresBios();'>");
    subDiv.append(
        "" + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.caracteristicas") + "");
    subDiv.append("</span>");
    subDiv.append("<ul id='subBios'>");
    // subDiv.append("<div id='subBios'></div>");
    // aqui sera incluso via InnerHTML quando o ator clicar em BIOS.
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder' >");
    subDiv.append("Hardware");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder'>");
    subDiv.append(
        ""
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.dataUltimoIventario")
            + "");
    subDiv.append("</span>");
    subDiv.append("<ul >");
    subDiv.append("<li>");
    subDiv.append("<span class='file'>");
    subDiv.append(
        UtilDatas.convertDateToString(
            TipoDate.DATE_DEFAULT,
            this.getItemConfiguracao().getDataInicio(),
            WebUtil.getLanguage(request)));
    subDiv.append("</span>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("<li class='closed' >");
    subDiv.append(
        "<div class='hitarea closed-hitarea collapsable-hitarea' onclick='restaurarValoresHardware();'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder' onclick='restaurarValoresHardware();'>");
    subDiv.append(
        "" + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.caracteristicas") + "");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<div id='subHardware'></div>");
    // aqui sera incluso via InnerHTML quando o ator clicar em HARDWARE.
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder' name='bios' >");
    subDiv.append("Software");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<li class='closed'>");
    subDiv.append("<div class='hitarea closed-hitarea collapsable-hitarea'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder'>");
    subDiv.append(
        ""
            + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.dataUltimoIventario")
            + "");
    subDiv.append("</span>");
    subDiv.append("<ul >");
    subDiv.append("<li>");
    subDiv.append("<span class='file'>");
    subDiv.append(
        UtilDatas.convertDateToString(
            TipoDate.DATE_DEFAULT,
            this.getItemConfiguracao().getDataInicio(),
            WebUtil.getLanguage(request)));
    subDiv.append("</span>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("<li  class='closed'>");
    subDiv.append(
        "<div class='hitarea closed-hitarea collapsable-hitarea' onclick='restaurarValoresSoftware();'>");
    subDiv.append("</div>");
    subDiv.append("<span class='folder' onclick='restaurarValoresSoftware();'>");
    subDiv.append(
        "" + UtilI18N.internacionaliza(request, "pesquisaItemConfiguracao.caracteristicas") + "");
    subDiv.append("</span>");
    subDiv.append("<ul>");
    subDiv.append("<div id='subSoftware'></div>");
    // aqui sera incluso via InnerHTML quando o ator clicar em SOFTWARE.
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</li>");
    subDiv.append("</ul>");
    subDiv.append("</div>");

    subDiv.append("<div id='divImpactos'></div>");

    HTMLElement divPrincipal = document.getElementById("principalInf");
    divPrincipal.setInnerHTML(subDiv.toString());

    if (request.getParameter("mostraItensVinculados") == null
        || request.getParameter("mostraItensVinculados").equals("true"))
      verificaImpactos(
          this.getInformacaoItemConfiguracao().getIdItemConfiguracao(),
          document,
          request,
          response);

    document.executeScript("tree('#browser'); $('#loading_overlay').hide();");
    HTMLForm form = CITCorporeUtil.limparFormulario(document);
    form.setValues(this.getInformacaoItemConfiguracao());
  }
  @Override
  public void onEndPage(final PdfWriter writer, final Document document) {
    try {
      /* Adicionado o header */
      final Rectangle page = document.getPageSize();
      final PdfPTable header = new PdfPTable(1);
      header.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin());
      header.setLockedWidth(true);
      header.getDefaultCell().setFixedHeight(55);
      header.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);

      final PdfPCell cellC = new PdfPCell();
      cellC.setBorder(1);

      final PdfPTable tableContent = new PdfPTable(3);

      /* Adicionando a LogoMarca */
      URL url = null;
      String caminho = "";
      String urlInicial = "";
      Image image = null;
      caminho =
          ParametroUtil.getValorParametroCitSmartHashMap(
              Enumerados.ParametroSistema.URL_LOGO_PADRAO_RELATORIO, "");

      if ("".equals(caminho.trim()) || !UtilImagem.verificaSeImagemExiste(caminho)) {
        urlInicial =
            ParametroUtil.getValorParametroCitSmartHashMap(
                Enumerados.ParametroSistema.URL_Sistema, "");
        caminho = urlInicial + "/imagens/logo/logo.png";
      }

      try {
        url = new URL(caminho);
        final URLConnection conn = url.openConnection();
        conn.connect();
      } catch (final MalformedURLException e) {
        // the URL is not in a valid form
        e.printStackTrace();
        url = null;
      } catch (final IOException e) {
        e.printStackTrace();
        url = null;
      }

      if (url == null) {
        if (Constantes.getValue("CAMINHO_LOGO_CITGERENCIAL") != null) {
          try {
            url = new URL(Constantes.getValue("CAMINHO_LOGO_CITGERENCIAL"));
          } catch (final Exception e) {
            e.printStackTrace();
          }
        }
      }

      if (url == null) {
        caminho =
            Constantes.getValue("SERVER_ADDRESS")
                + Constantes.getValue("CONTEXTO_APLICACAO")
                + "/imagens/logoPadraoRelatorio.png";
        try {
          url = new URL(caminho);
        } catch (final Exception e) {
          e.printStackTrace();
        }
      }

      if (url != null) {
        try {
          image = Image.getInstance(url);
        } catch (final BadElementException e) {
          e.printStackTrace();
        }
      }

      if (image != null) {
        image.scaleAbsolute(150, 50);
        image.setAlignment(Image.RIGHT);
        final Chunk ck = new Chunk(image, -3, -25);
        final PdfPCell cell = new PdfPCell();
        cell.addElement(ck);
        cell.setBorderWidth(0);
        cell.setRowspan(2);
        tableContent.addCell(cell);
      } else {
        tableContent.addCell("Citsmart");
      }

      final String strCab = Constantes.getValue("TEXTO_1a_LINHA_CABECALHO_CITGERENCIAL");
      if (strCab != null && !strCab.equalsIgnoreCase("")) {
        final PdfPCell cAux =
            new PdfPCell(
                new Phrase(strCab, new Font(Font.HELVETICA, 12, Font.BOLD, new Color(0, 0, 0))));
        cAux.setColspan(2);
        cAux.setBorderWidth(1);
        cAux.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        tableContent.addCell(cAux);
      }

      /* Adicionado o Titulo do relatório */
      final PdfPCell titulo =
          new PdfPCell(
              new Phrase(titleReport, new Font(Font.HELVETICA, 14, Font.BOLD, new Color(0, 0, 0))));
      titulo.setColspan(2);
      titulo.setRowspan(1);
      titulo.setBorderWidth(0);
      titulo.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      tableContent.addCell(titulo);

      /* Adicionado o filtro */
      String strFiltro =
          this.trataParameters(hshParameters, colParmsUtilizadosNoSQL, colDefinicaoParametros);
      if (strFiltro == null) {
        strFiltro = "";
      }
      final PdfPCell cFiltro =
          new PdfPCell(
              new Phrase(strFiltro, new Font(Font.HELVETICA, 8, Font.NORMAL, new Color(0, 0, 0))));
      cFiltro.setBorderWidth(0);
      cFiltro.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
      cFiltro.setColspan(2);
      tableContent.addCell(cFiltro);
      cellC.addElement(tableContent);
      header.addCell(tableContent);

      // Fim - Trata parametros
      if (!existeAgrupador) {
        if (listRetorno != null && listRetorno.size() > 0) {
          final Object[] row = (Object[]) listRetorno.get(0);
          this.geraCabecalhoPDF(row.length, gerencialItemDto, header, writer, document, page);
        }
      }

      if (page.getWidth() > 600) {
        if (!existeAgrupador) {
          header.writeSelectedRows(0, -1, 20, 565, writer.getDirectContent());
        } else {
          header.writeSelectedRows(0, -1, 20, 585, writer.getDirectContent());
        }
      } else {
        if (!existeAgrupador) {
          header.writeSelectedRows(
              0,
              -1,
              20,
              page.getHeight() - document.topMargin() + header.getTotalHeight(),
              writer.getDirectContent());
        } else {
          header.writeSelectedRows(0, -1, 20, 805, writer.getDirectContent());
        }
      }

      /* Adicionado o footer */
      final PdfPTable footer = new PdfPTable(2);
      final String emissao = (String) hshParameters.get("citcorpore.comum.emissao");
      final String pagina = (String) hshParameters.get("citcorpore.comum.pagina");

      PdfPCell cAuxPageNumber =
          new PdfPCell(
              new Phrase(
                  emissao
                      + ": "
                      + UtilDatas.convertDateToString(
                          TipoDate.DATE_DEFAULT,
                          UtilDatas.getDataAtual(),
                          WebUtil.getLanguage(request))
                      + " "
                      + UtilDatas.formatHoraFormatadaStr(UtilDatas.getHoraAtual()),
                  new Font(Font.HELVETICA, 8, Font.NORMAL, new Color(0, 0, 0))));
      cAuxPageNumber.setBorder(0);
      footer.addCell(cAuxPageNumber);

      cAuxPageNumber =
          new PdfPCell(
              new Phrase(
                  pagina + ": " + writer.getPageNumber(),
                  new Font(Font.HELVETICA, 8, Font.NORMAL, new Color(0, 0, 0))));
      cAuxPageNumber.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
      cAuxPageNumber.setBorder(0);
      footer.addCell(cAuxPageNumber);
      footer.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin());
      footer.writeSelectedRows(
          0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent());
    } catch (final Exception e) {
      throw new ExceptionConverter(e);
    }
  }
  public void restore(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert("Sessão expirada! Favor efetuar logon novamente!");
      return;
    }

    DescricaoCargoDTO descricaoCargoDto = (DescricaoCargoDTO) document.getBean();
    if (descricaoCargoDto.getIdSolicitacaoServico() == null) return;

    DescricaoCargoService descricaoCargoService =
        (DescricaoCargoService)
            ServiceLocator.getInstance().getService(DescricaoCargoService.class, null);
    descricaoCargoDto =
        (DescricaoCargoDTO)
            descricaoCargoService.findByIdSolicitacaoServico(
                descricaoCargoDto.getIdSolicitacaoServico());

    descricaoCargoDto.setAcao(getAcao());

    HTMLForm form = document.getForm("form");
    form.setValues(descricaoCargoDto);

    document.executeScript("inicializaContLinha()");

    HTMLTable tblFormacaoAcademica = document.getTableById("tblFormacaoAcademica");
    tblFormacaoAcademica.deleteAllRows();
    if (descricaoCargoDto.getColFormacaoAcademica() != null) {
      for (CargoFormacaoAcademicaDTO cargoFormacaoAcademicaDto :
          descricaoCargoDto.getColFormacaoAcademica()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"FormacaoAcademica\","
                + cargoFormacaoAcademicaDto.getIdFormacaoAcademica()
                + ",\""
                + cargoFormacaoAcademicaDto.getDescricao()
                + "\",\""
                + cargoFormacaoAcademicaDto.getObrigatorio()
                + "\",\""
                + cargoFormacaoAcademicaDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblCertificacao = document.getTableById("tblCertificacao");
    tblCertificacao.deleteAllRows();
    if (descricaoCargoDto.getColCertificacao() != null) {
      for (CargoCertificacaoDTO cargoCertificacaoDto : descricaoCargoDto.getColCertificacao()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"Certificacao\","
                + cargoCertificacaoDto.getIdCertificacao()
                + ",\""
                + cargoCertificacaoDto.getDescricao()
                + "\",\""
                + cargoCertificacaoDto.getObrigatorio()
                + "\",\""
                + cargoCertificacaoDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblCurso = document.getTableById("tblCurso");
    tblCurso.deleteAllRows();
    if (descricaoCargoDto.getColCurso() != null) {
      for (CargoCursoDTO cargoCursoDto : descricaoCargoDto.getColCurso()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"Curso\","
                + cargoCursoDto.getIdCurso()
                + ",\""
                + cargoCursoDto.getDescricao()
                + "\",\""
                + cargoCursoDto.getObrigatorio()
                + "\",\""
                + cargoCursoDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblExperienciaInformatica = document.getTableById("tblExperienciaInformatica");
    tblExperienciaInformatica.deleteAllRows();
    if (descricaoCargoDto.getColExperienciaInformatica() != null) {
      for (CargoExperienciaInformaticaDTO cargoExperienciaInformaticaDto :
          descricaoCargoDto.getColExperienciaInformatica()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"ExperienciaInformatica\","
                + cargoExperienciaInformaticaDto.getIdExperienciaInformatica()
                + ",\""
                + cargoExperienciaInformaticaDto.getDescricao()
                + "\",\""
                + cargoExperienciaInformaticaDto.getObrigatorio()
                + "\",\""
                + cargoExperienciaInformaticaDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblIdioma = document.getTableById("tblIdioma");
    tblIdioma.deleteAllRows();
    if (descricaoCargoDto.getColIdioma() != null) {
      for (CargoIdiomaDTO cargoIdiomaDto : descricaoCargoDto.getColIdioma()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"Idioma\","
                + cargoIdiomaDto.getIdIdioma()
                + ",\""
                + cargoIdiomaDto.getDescricao()
                + "\",\""
                + cargoIdiomaDto.getObrigatorio()
                + "\",\""
                + cargoIdiomaDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblExperienciaAnterior = document.getTableById("tblExperienciaAnterior");
    tblExperienciaAnterior.deleteAllRows();
    if (descricaoCargoDto.getColExperienciaAnterior() != null) {
      for (CargoExperienciaAnteriorDTO cargoExperienciaAnteriorDto :
          descricaoCargoDto.getColExperienciaAnterior()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"ExperienciaAnterior\","
                + cargoExperienciaAnteriorDto.getIdConhecimento()
                + ",\""
                + cargoExperienciaAnteriorDto.getDescricao()
                + "\",\""
                + cargoExperienciaAnteriorDto.getObrigatorio()
                + "\",\""
                + cargoExperienciaAnteriorDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblConhecimento = document.getTableById("tblConhecimento");
    tblConhecimento.deleteAllRows();
    if (descricaoCargoDto.getColConhecimento() != null) {
      for (CargoConhecimentoDTO cargoConhecimentoDto : descricaoCargoDto.getColConhecimento()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"Conhecimento\","
                + cargoConhecimentoDto.getIdConhecimento()
                + ",\""
                + cargoConhecimentoDto.getDescricao()
                + "\",\""
                + cargoConhecimentoDto.getObrigatorio()
                + "\",\""
                + cargoConhecimentoDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblHabilidade = document.getTableById("tblHabilidade");
    tblHabilidade.deleteAllRows();
    if (descricaoCargoDto.getColHabilidade() != null) {
      for (CargoHabilidadeDTO cargoHabilidadeDto : descricaoCargoDto.getColHabilidade()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"Habilidade\","
                + cargoHabilidadeDto.getIdHabilidade()
                + ",\""
                + cargoHabilidadeDto.getDescricao()
                + "\",\""
                + cargoHabilidadeDto.getObrigatorio()
                + "\",\""
                + cargoHabilidadeDto.getDetalhe()
                + "\");");
      }
    }

    HTMLTable tblAtitudeIndividual = document.getTableById("tblAtitudeIndividual");
    tblAtitudeIndividual.deleteAllRows();
    if (descricaoCargoDto.getColAtitudeIndividual() != null) {
      for (CargoAtitudeIndividualDTO cargoAtitudeIndividualDto :
          descricaoCargoDto.getColAtitudeIndividual()) {
        document.executeScript(
            "adicionarLinhaSelecionada(\"AtitudeIndividual\","
                + cargoAtitudeIndividualDto.getIdAtitudeIndividual()
                + ",\""
                + cargoAtitudeIndividualDto.getDescricao()
                + "\",\""
                + cargoAtitudeIndividualDto.getObrigatorio()
                + "\",\""
                + cargoAtitudeIndividualDto.getDetalhe()
                + "\");");
      }
    }
  }
  public ClienteEmailCentralServicoDTO getMessagesByLimitAndNoRequest(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    EmailSolicitacaoServicoService emailSolicitacaoServicoService =
        (EmailSolicitacaoServicoService)
            ServiceLocator.getInstance()
                .getService(
                    EmailSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request));
    ClienteEmailCentralServicoDTO clienteEmailCentralServicoDto =
        new ClienteEmailCentralServicoDTO();
    clienteEmailCentralServicoDto.setResultSucess(true);

    try {
      if (CONEXAO_EMAIL_SERVIDOR.equals("")
          || CONEXAO_EMAIL_PROVIDER.equals("")
          || CONEXAO_EMAIL_CAIXA.equals("")
          || CONEXAO_EMAIL_SENHA.equals("")
          || CONEXAO_EMAIL_PASTA.equals("")) {
        clienteEmailCentralServicoDto.setResultSucess(false);
        clienteEmailCentralServicoDto.setResultMessage(
            UtilI18N.internacionaliza(
                request, "clienteEmailCentralServico.problemasRealizarleituraEmailsParametros"));
      } else {
        Properties props = new Properties();
        props.setProperty("mail.store.protocol", CONEXAO_EMAIL_PROVIDER);

        props.setProperty("mail.imaps.auth.plain.disable", "true");
        props.setProperty("mail.imaps.ssl.trust", "*");
        // props.setProperty("mail.debug", "true");

        if (!CONEXAO_EMAIL_PORTA.equals(""))
          props.setProperty("mail." + CONEXAO_EMAIL_PROVIDER + ".port", CONEXAO_EMAIL_PORTA);

        Session session = Session.getInstance(props, null);
        Store store = session.getStore();
        store.connect(CONEXAO_EMAIL_SERVIDOR, CONEXAO_EMAIL_CAIXA, CONEXAO_EMAIL_SENHA);

        Folder inbox = store.getFolder(CONEXAO_EMAIL_PASTA);
        inbox.open(Folder.READ_WRITE);

        Message[] messages = inbox.getMessages();

        if (messages != null && messages.length > 0) {
          ArrayUtils.reverse(messages);

          Integer limiteEmails = 10;

          try {
            limiteEmails = Integer.parseInt(CONEXAO_EMAIL_LIMITE);
          } catch (NumberFormatException e) {
            e.printStackTrace();
            limiteEmails = 10;
          }

          ArrayList<ClienteEmailCentralServicoMessagesDTO> emailMessages =
              new ArrayList<ClienteEmailCentralServicoMessagesDTO>();

          for (Message message : messages) {
            if (emailMessages.size() < limiteEmails) {
              MimeMessage m = (MimeMessage) inbox.getMessage(message.getMessageNumber());
              EmailSolicitacaoServicoDTO colEmailDto =
                  emailSolicitacaoServicoService.getEmailByIdMessage(m.getMessageID());

              if (colEmailDto == null) {
                ClienteEmailCentralServicoMessagesDTO clienteEmailMessagesDto =
                    new ClienteEmailCentralServicoMessagesDTO();

                clienteEmailMessagesDto.setMessageId(m.getMessageID());
                clienteEmailMessagesDto.setMessageNumber(message.getMessageNumber());

                Address[] in = message.getFrom();
                clienteEmailMessagesDto.setMessageEmail(
                    (in == null ? null : ((InternetAddress) in[0]).getAddress()));

                clienteEmailMessagesDto.setMessageSubject(message.getSubject());
                clienteEmailMessagesDto.setMessageReceivedDate(message.getReceivedDate());

                // clienteEmailMessagesDto.setSeen(message.isSet(Flags.Flag.SEEN)); //Atrapalha a
                // performance
                clienteEmailMessagesDto.setSeen(true);

                emailMessages.add(clienteEmailMessagesDto);
              }
            } else {
              break;
            }
          }

          clienteEmailCentralServicoDto.setEmailMessages(emailMessages);
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
      clienteEmailCentralServicoDto.setResultSucess(false);
      clienteEmailCentralServicoDto.setResultMessage(
          UtilI18N.internacionaliza(
              request, "clienteEmailCentralServico.problemasRealizarleituraEmails"));
    }

    return clienteEmailCentralServicoDto;
  }
  public void avalia(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    UsuarioDTO usuarioDto = WebUtil.getUsuario(request);
    if (usuarioDto == null) {
      document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }
    AcordoNivelServicoService acordoNivelServicoService =
        (AcordoNivelServicoService)
            ServiceLocator.getInstance().getService(AcordoNivelServicoService.class, null);
    RequisitoSLAService requisitoSLAService =
        (RequisitoSLAService)
            ServiceLocator.getInstance().getService(RequisitoSLAService.class, null);
    Collection colAcordos = acordoNivelServicoService.findAcordosSemVinculacaoDireta();
    Collection colReqs = requisitoSLAService.list();

    ControleGenerateSLAPorRequisitoSLA controleGenerateSLAPorRequisitoSLA =
        new ControleGenerateSLAPorRequisitoSLA();
    ControleGenerateSLAPorRequisitoSLAEmAndamento controleGenerateSLAPorRequisitoSLAEmAndamento =
        new ControleGenerateSLAPorRequisitoSLAEmAndamento();
    String table = "<table border='1'>";
    if (colAcordos != null && colAcordos.size() > 0) {
      table += "<tr>";
      table += "<td>";
      table += "<b>" + UtilI18N.internacionaliza(request, "sla.avaliacao.acordo") + "</b>";
      table += "</td>";
      table += "</tr>";
      table += "<tr>";
      table += "<td>";
      table += "&nbsp;";
      table += "</td>";
      table += "</tr>";
      for (Iterator it = colAcordos.iterator(); it.hasNext(); ) {
        AcordoNivelServicoDTO acordoNivelServicoDTO = (AcordoNivelServicoDTO) it.next();
        table += "<tr>";
        table += "<td colspan='5' style='background-color:gray'>";
        table +=
            UtilI18N.internacionaliza(request, "citcorpore.comum.acordo")
                + ": <b>"
                + acordoNivelServicoDTO.getTituloSLA()
                + "</b>";
        table += "</td>";
        table += "</tr>";
        if (acordoNivelServicoDTO.getTipo().equalsIgnoreCase("T")) {
          table +=
              generateSLATime(
                  document,
                  request,
                  acordoNivelServicoDTO,
                  acordoNivelServicoDTO.getIdAcordoNivelServico(),
                  usuarioDto);
          table +=
              generateAvailSLATime(
                  document,
                  request,
                  acordoNivelServicoDTO,
                  acordoNivelServicoDTO.getIdAcordoNivelServico(),
                  usuarioDto);
        } else if (acordoNivelServicoDTO.getTipo().equalsIgnoreCase("D")) {
          table +=
              generateAvailSLAAvailability(
                  document,
                  request,
                  response,
                  acordoNivelServicoDTO,
                  acordoNivelServicoDTO.getIdAcordoNivelServico(),
                  usuarioDto);
        }
      }
    }
    if (colReqs != null && colReqs.size() > 0) {
      table += "<tr>";
      table += "<td>";
      table += "&nbsp;";
      table += "</td>";
      table += "</tr>";
      table += "<tr>";
      table += "<td>";
      table += "<b>" + UtilI18N.internacionaliza(request, "sla.avaliacao.requisito") + "</b>";
      table += "</td>";
      table += "</tr>";
      for (Iterator it = colReqs.iterator(); it.hasNext(); ) {
        RequisitoSLADTO requisitoSLADTO = (RequisitoSLADTO) it.next();
        List lst = controleGenerateSLAPorRequisitoSLA.execute(requisitoSLADTO.getIdRequisitoSLA());
        double qtdeDentroPrazo = 0;
        double qtdeForaPrazo = 0;
        if (lst != null && lst.size() > 0) {
          for (Iterator itSLA = lst.iterator(); itSLA.hasNext(); ) {
            Object[] objs = (Object[]) itSLA.next();
            if (((String) objs[0]).indexOf("Fora") > -1 || ((String) objs[0]).indexOf("Out") > -1) {
              qtdeForaPrazo = (Double) objs[2];
            } else {
              qtdeDentroPrazo = (Double) objs[2];
            }
          }
        }
        double qtdeDentroPrazoPerc = (qtdeDentroPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;
        double qtdeForaPrazoPerc = (qtdeForaPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;

        final DefaultValueDataset dataset =
            new DefaultValueDataset(new Double(qtdeDentroPrazoPerc));

        // create the chart...
        final ThermometerPlot plot = new ThermometerPlot(dataset);
        final JFreeChart chart =
            new JFreeChart(
                UtilI18N.internacionaliza(request, "sla.avaliacao.avaliacaogeral"), // chart title
                JFreeChart.DEFAULT_TITLE_FONT,
                plot, // plot
                false); // include legend

        plot.setSubrangeInfo(ThermometerPlot.NORMAL, 90.000001, 100);
        plot.setSubrangeInfo(ThermometerPlot.WARNING, 80.000001, 90);
        plot.setSubrangeInfo(ThermometerPlot.CRITICAL, 0, 80);

        plot.setThermometerStroke(new BasicStroke(2.0f));
        plot.setThermometerPaint(Color.lightGray);

        String nomeImgAval =
            CITCorporeUtil.caminho_real_app
                + "/tempFiles/"
                + usuarioDto.getIdUsuario()
                + "/avalREQSLA_"
                + requisitoSLADTO.getIdRequisitoSLA()
                + ".png";
        String nomeImgAvalRel =
            br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                + "/tempFiles/"
                + usuarioDto.getIdUsuario()
                + "/avalREQSLA_"
                + requisitoSLADTO.getIdRequisitoSLA()
                + ".png";
        File arquivo = new File(nomeImgAval);

        if (arquivo.exists()) {
          arquivo.delete();
        } else {
          String nomeDir =
              CITCorporeUtil.caminho_real_app + "/tempFiles/" + usuarioDto.getIdUsuario() + "/";
          File dirTemp = new File(nomeDir);
          dirTemp.mkdirs();
          arquivo.createNewFile();
        }

        ChartUtilities.saveChartAsPNG(arquivo, chart, 500, 200);

        List lst2 =
            controleGenerateSLAPorRequisitoSLAEmAndamento.execute(
                requisitoSLADTO.getIdRequisitoSLA());
        qtdeDentroPrazo = 0;
        qtdeForaPrazo = 0;
        if (lst2 != null && lst2.size() > 0) {
          for (Iterator itSLA = lst2.iterator(); itSLA.hasNext(); ) {
            Object[] objs = (Object[]) itSLA.next();
            if (((String) objs[0]).indexOf("Fora") > -1 || ((String) objs[0]).indexOf("Out") > -1) {
              qtdeForaPrazo = (Double) objs[2];
            } else {
              qtdeDentroPrazo = (Double) objs[2];
            }
          }
        }
        qtdeDentroPrazoPerc = (qtdeDentroPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;
        qtdeForaPrazoPerc = (qtdeForaPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;

        DefaultPieDataset datasetPie = new DefaultPieDataset();
        datasetPie.setValue(
            UtilI18N.internacionaliza(request, "sla.avaliacao.noprazo")
                + " ("
                + UtilFormatacao.formatDouble(qtdeDentroPrazo, 0)
                + ")",
            new Double(qtdeDentroPrazoPerc));
        datasetPie.setValue(
            UtilI18N.internacionaliza(request, "sla.avaliacao.foraprazo")
                + " ("
                + UtilFormatacao.formatDouble(qtdeForaPrazo, 0)
                + ")",
            new Double(qtdeForaPrazoPerc));

        JFreeChart chartX =
            ChartFactory.createPieChart(
                UtilI18N.internacionaliza(request, "sla.avaliacao.emandamento"), // chart title
                datasetPie, // data
                true, // include legend
                false,
                false);

        PiePlot plotPie = (PiePlot) chartX.getPlot();
        plotPie.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
        plotPie.setNoDataMessage(UtilI18N.internacionaliza(request, "sla.avaliacao.naohadados"));
        plotPie.setCircular(false);
        plotPie.setLabelGap(0.02);

        String nomeImgAval2 =
            CITCorporeUtil.caminho_real_app
                + "/tempFiles/"
                + usuarioDto.getIdUsuario()
                + "/avalREQSLA2_"
                + requisitoSLADTO.getIdRequisitoSLA()
                + ".png";
        String nomeImgAvalRel2 =
            br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                + "/tempFiles/"
                + usuarioDto.getIdUsuario()
                + "/avalREQSLA2_"
                + requisitoSLADTO.getIdRequisitoSLA()
                + ".png";
        File arquivo2 = new File(nomeImgAval2);
        if (arquivo2.exists()) {
          arquivo2.delete();
        }
        ChartUtilities.saveChartAsPNG(arquivo2, chartX, 200, 200);

        table += "<tr>";
        table += "<td style='border:1px solid black; vertical-align:middle;'>";
        table += UtilHTML.encodeHTML(UtilStrings.retiraApostrofe(requisitoSLADTO.getAssunto()));
        table += "</td>";
        table += "<td style='border:1px solid black; vertical-align:middle;'>";
        if (requisitoSLADTO.getSituacao() != null
            && requisitoSLADTO.getSituacao().equalsIgnoreCase("A")) {
          table +=
              "<img src='"
                  + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                  + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/imagens/bolaverde.png' border='0'  title='"
                  + UtilI18N.internacionaliza(request, "requisitosla.ativo")
                  + "'/>";
          table += UtilI18N.internacionaliza(request, "requisitosla.ativo");
        } else if (requisitoSLADTO.getSituacao() != null
            && requisitoSLADTO.getSituacao().equalsIgnoreCase("P")) {
          table +=
              "<img src='"
                  + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                  + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/imagens/bolavermelha.png' border='0'  title='"
                  + UtilI18N.internacionaliza(request, "requisitosla.planejamento")
                  + "'/>";
          table += UtilI18N.internacionaliza(request, "requisitosla.planejamento");
        } else if (requisitoSLADTO.getSituacao() != null
            && requisitoSLADTO.getSituacao().equalsIgnoreCase("R")) {
          table +=
              "<img src='"
                  + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                  + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/imagens/bolavermelha.png' border='0'  title='"
                  + UtilI18N.internacionaliza(request, "requisitosla.emrevisao")
                  + "'/>";
          table += UtilI18N.internacionaliza(request, "requisitosla.emrevisao");
        } else {
          table +=
              "<img src='"
                  + br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")
                  + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO")
                  + "/imagens/bolavermelha.png' border='0'  title='"
                  + UtilI18N.internacionaliza(request, "requisitosla.inativo")
                  + "'/>";
          table += UtilI18N.internacionaliza(request, "requisitosla.inativo");
        }
        table += "</td>";
        table += "<td style='border:1px solid black'>";
        table += "<img src='" + nomeImgAvalRel + "' border='0'/>";
        table += "</td>";
        table += "<td style='border:1px solid black'>";
        table += "<img src='" + nomeImgAvalRel2 + "' border='0'/>";
        table += "</td>";
        table += "</tr>";
      }
    }
    table += "</table>";
    document.getElementById("divInfo").setInnerHTML(table);
  }
  public void listarRegistrosQuestionario(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    final ChecklistQuestionarioDTO checklistQuestionarioDTO =
        (ChecklistQuestionarioDTO) document.getBean();
    final UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert("Sessão expirada! Favor efetuar logon novamente!");
      return;
    }
    String PRONTUARIO_FORMA_EDICAO = "PRONTUARIO_FORMA_EDICAO";
    if (PRONTUARIO_FORMA_EDICAO == null || PRONTUARIO_FORMA_EDICAO.trim().equalsIgnoreCase("")) {
      PRONTUARIO_FORMA_EDICAO = "P";
    }
    QuestionarioDTO questionarioDTO = new QuestionarioDTO();
    final QuestionarioService questionarioService =
        (QuestionarioService)
            ServiceLocator.getInstance().getService(QuestionarioService.class, null);
    if (checklistQuestionarioDTO.getIdQuestionario() != null) {
      questionarioDTO.setIdQuestionario(checklistQuestionarioDTO.getIdQuestionario());
      questionarioDTO = (QuestionarioDTO) questionarioService.restore(questionarioDTO);
      checklistQuestionarioDTO.setIdQuestionarioOrigem(questionarioDTO.getIdQuestionarioOrigem());
    }
    final RequisicaoQuestionarioService requisicaoQuestionariosService =
        (RequisicaoQuestionarioService)
            ServiceLocator.getInstance().getService(RequisicaoQuestionarioService.class, null);
    final Collection colQuestHist =
        requisicaoQuestionariosService.listByIdTipoAbaAndTipoRequisicaoAndQuestionario(
            checklistQuestionarioDTO);

    Integer seqGeral = new Integer(0);
    String abrir = "";
    String abrirUltimo = "";
    String geralData = "";
    final StringBuilder strTable = new StringBuilder();
    strTable.append("");
    final StringBuilder hist_Pront = new StringBuilder();
    if (colQuestHist != null && colQuestHist.size() > 0) {
      strTable.append("<table width=\"100%\" class=\"tableLess\">");
      strTable.append("<thead>");
      strTable.append("<tr>");
      strTable.append("<th width=\"7%\" >");
      strTable.append("&nbsp;");
      strTable.append("</th>");
      strTable.append("<th>");
      strTable.append(UtilI18N.internacionaliza(request, "itemConfiguracaoTree.versao"));
      strTable.append("</th>");
      strTable.append("<th>");
      strTable.append(UtilI18N.internacionaliza(request, "questionario.dataHora"));
      strTable.append("</th>");
      strTable.append("<th>");
      strTable.append(UtilI18N.internacionaliza(request, "menu.nome.questionario"));
      strTable.append("</th>");
      strTable.append("<th  >");
      strTable.append(UtilI18N.internacionaliza(request, "citcorpore.comum.concluida"));
      strTable.append("</th>");
      strTable.append("</tr>");
      strTable.append("</thead>");

      hist_Pront.append("geral_hist_Pront_Quest_Seq = new Array();");
      hist_Pront.append("geral_hist_Pront_Quest = new Array();");
      hist_Pront.append("geral_hist_Pront_Quest = new Array();");

      seqGeral = colQuestHist.size();
      Integer seq = colQuestHist.size();
      int i = colQuestHist.size() - 1;
      for (final Iterator it = colQuestHist.iterator(); it.hasNext(); ) {
        final RequisicaoQuestionarioDTO reqQuestQuestDTO = (RequisicaoQuestionarioDTO) it.next();

        hist_Pront.append("geral_hist_Pront_Quest_Seq[" + i + "] = '" + seq.toString() + "';");
        hist_Pront.append(
            "geral_hist_Pront_Quest_Data["
                + i
                + "] = '"
                + UtilDatas.convertDateToString(
                    TipoDate.DATE_DEFAULT,
                    reqQuestQuestDTO.getDataQuestionario(),
                    WebUtil.getLanguage(request))
                + "';");

        final String descricao = "";
        final Collection col = null;

        strTable.append("<tr>");

        strTable.append("<td >");
        abrir = "titulo_Selecionado = '" + descricao.replaceAll("'", "") + "';";
        abrir += "try{cit$('divTituloPOPUPQUEST').innerHTML = titulo_Selecionado;}catch(e){};";
        if ("F".equalsIgnoreCase(reqQuestQuestDTO.getSituacao())) {
          abrir +=
              "abaSelecionada = '"
                  + reqQuestQuestDTO.getAba()
                  + "'; chamaEdicaoQuestionario("
                  + reqQuestQuestDTO.getIdRequisicao()
                  + ","
                  + reqQuestQuestDTO.getIdQuestionario()
                  + ",0, "
                  + reqQuestQuestDTO.getIdRequisicaoQuestionario()
                  + ", true, 'N', '"
                  + reqQuestQuestDTO.getAba()
                  + ","
                  + reqQuestQuestDTO.getNomeQuestionario()
                  + "')";
          strTable.append(
              "<img title=\""
                  + UtilI18N.internacionaliza(request, "Questionario.questionarioPreenchido")
                  + "\" src=\""
                  + CitCorporeConstantes.CAMINHO_SERVIDOR
                  + request.getContextPath()
                  + "/template_new/images/icons/large/grey/archive.png\" border=\"0\" onclick=\"try{cit$('div_PQ_Indicador').innerHTML = '--';}catch(e){};try{cit$('div_PQ_Data').innerHTML = '"
                  + UtilDatas.convertDateToString(
                      TipoDate.DATE_DEFAULT,
                      reqQuestQuestDTO.getDataQuestionario(),
                      WebUtil.getLanguage(request))
                  + "';}catch(e){};"
                  + abrir
                  + "\" style=\"cursor:pointer\" >");
        } else {
          abrir +=
              "abaSelecionada = '"
                  + reqQuestQuestDTO.getAba()
                  + "'; chamaEdicaoQuestionario("
                  + reqQuestQuestDTO.getIdRequisicao()
                  + ","
                  + reqQuestQuestDTO.getIdQuestionario()
                  + ",0, "
                  + reqQuestQuestDTO.getIdRequisicaoQuestionario()
                  + ", false, 'N', '"
                  + reqQuestQuestDTO.getAba()
                  + ","
                  + reqQuestQuestDTO.getNomeQuestionario()
                  + "')";
          strTable.append(
              "<img title='"
                  + UtilI18N.internacionaliza(request, "Questionario.questionarioPreenchido")
                  + "' src=\""
                  + CitCorporeConstantes.CAMINHO_SERVIDOR
                  + request.getContextPath()
                  + "/template_new/images/icons/large/grey/archive.png\" border=\"0\" onclick=\"try{cit$('div_PQ_Indicador').innerHTML = '--';}catch(e){};try{cit$('div_PQ_Data').innerHTML = '"
                  + UtilDatas.convertDateToString(
                      TipoDate.DATE_DEFAULT,
                      reqQuestQuestDTO.getDataQuestionario(),
                      WebUtil.getLanguage(request))
                  + "';}catch(e){};"
                  + abrir
                  + "\" style=\"cursor:pointer\" >");
        }

        strTable.append("</td>");

        strTable.append(
            "<td class='tdPontilhada' style=\"text-align:center\">" + seq.toString() + "</td>");
        strTable.append("<td class='tdPontilhada'>");
        strTable.append(
            UtilDatas.convertDateToString(
                TipoDate.TIMESTAMP_WITH_SECONDS,
                reqQuestQuestDTO.getDataHoraGrav(),
                WebUtil.getLanguage(request)));
        strTable.append("</td>");
        strTable.append("<td class='tdPontilhada'>");
        strTable.append(UtilStrings.nullToVazio(reqQuestQuestDTO.getNomeQuestionario()) + "&nbsp;");
        strTable.append("</td>");
        strTable.append("<td class='tdPontilhada' style='text-align: center'>");
        if (reqQuestQuestDTO.getConfirmacao() != null
            && reqQuestQuestDTO.getConfirmacao().equalsIgnoreCase("S")) {
          strTable.append(
              "<label style='cursor:pointer'><input type='checkbox' value='S' id='confirma' name='confirma' checked onclick='gravaConfirmacao("
                  + reqQuestQuestDTO.getIdRequisicaoQuestionario()
                  + ", \"S\");'/></label><br>");
        } else {
          strTable.append(
              "<label style='cursor:pointer'><input type='checkbox' value='N' id='confirma' name='confirma' onclick='gravaConfirmacao("
                  + reqQuestQuestDTO.getIdRequisicaoQuestionario()
                  + ", \"N\");'/></label><br>");
        }
        strTable.append("</td>");
        strTable.append("</tr>");
        seq = seq - 1;

        hist_Pront.append("geral_hist_Pront_Quest_Comando[" + i + "] = \"" + abrir + "\";");
        i--;

        if (abrirUltimo.equalsIgnoreCase("")) {
          abrirUltimo = abrir;
        }
        if (geralData.equalsIgnoreCase("")) {
          if (checklistQuestionarioDTO.getTipoApresResumo() == null) {
            checklistQuestionarioDTO.setTipoApresResumo("");
          }
          if (!checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("E")) {
            hist_Pront.append(
                "geral_data = '"
                    + UtilDatas.convertDateToString(
                        TipoDate.DATE_DEFAULT,
                        reqQuestQuestDTO.getDataQuestionario(),
                        WebUtil.getLanguage(request))
                    + "';");
            geralData =
                "geral_data = '"
                    + UtilDatas.convertDateToString(
                        TipoDate.DATE_DEFAULT,
                        reqQuestQuestDTO.getDataQuestionario(),
                        WebUtil.getLanguage(request))
                    + "';";
          }
        }
      }

      strTable.append("</table>");

      if (PRONTUARIO_FORMA_EDICAO.equalsIgnoreCase("A")) {
        document.executeScript(hist_Pront.toString());
        if (checklistQuestionarioDTO.getTipoApresResumo() == null) {
          checklistQuestionarioDTO.setTipoApresResumo("");
        }
        if (!checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("E")) {
          document.executeScript("geral_seq_Pront_Questionario = " + seqGeral.toString());
          document.executeScript(
              "geral_seq_Sel_Pront_Questionario = (" + seqGeral.toString() + " - 1)");
        }
        if (!abrir.equalsIgnoreCase("")) {
          checklistQuestionarioDTO.setUltimoComando(abrirUltimo);
        }
      }
      if (checklistQuestionarioDTO.getTipoApresResumo() == null
          || checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("J")) {
        document.getElementById("divRegistros").setInnerHTML(strTable.toString());
      } else {
        if (!checklistQuestionarioDTO
            .getTipoApresResumo()
            .equalsIgnoreCase("*")) { // O * indica para nao apresentar nada
          document.getElementById("divHistRes_Conteudo").setInnerHTML(strTable.toString());

          final HTMLForm form = document.getForm("form");
          form.setValues(checklistQuestionarioDTO);
        }
      }
    }
  }
  @Override
  public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    UsuarioDTO usuario = WebUtil.getUsuario(request);
    if (usuario == null) {
      document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
      document.executeScript(
          "window.location = '"
              + Constantes.getValue("SERVER_ADDRESS")
              + request.getContextPath()
              + "'");
      return;
    }

    HTMLSelect idTipoGerenciamento = (HTMLSelect) document.getSelectById("idTipoGerenciamento");
    idTipoGerenciamento.removeAllOptions();
    idTipoGerenciamento.addOption(
        "1", UtilI18N.internacionaliza(request, "citcorpore.comum.solicitacao"));
    idTipoGerenciamento.addOption("2", UtilI18N.internacionaliza(request, "problema.problema"));
    idTipoGerenciamento.addOption(
        "3", UtilI18N.internacionaliza(request, "menu.relatorio.gerMudanca"));

    HTMLSelect tipoDataEscalonamento = (HTMLSelect) document.getSelectById("tipoDataEscalonamento");
    tipoDataEscalonamento.removeAllOptions();
    tipoDataEscalonamento.addOption(
        "1", UtilI18N.internacionaliza(request, "citcorpore.comum.dataCriacao"));
    tipoDataEscalonamento.addOption(
        "2", UtilI18N.internacionaliza(request, "citcorpore.comum.dataUltimaOcorrencia"));

    preencherComboGrupoExecutor(document, request, response);

    HTMLSelect idTipoDemandaServico = (HTMLSelect) document.getSelectById("idTipoDemandaServico");
    idTipoDemandaServico.removeAllOptions();
    ArrayList<TipoDemandaServicoDTO> listaTipoDemandaServico;
    TipoDemandaServicoDao tipoDemandaServicoDao = new TipoDemandaServicoDao();
    listaTipoDemandaServico =
        (ArrayList<TipoDemandaServicoDTO>) tipoDemandaServicoDao.findByClassificacao("'R','I'");
    idTipoDemandaServico.addOption(
        "", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    for (TipoDemandaServicoDTO tipoDemandaServicoDTO : listaTipoDemandaServico) {
      idTipoDemandaServico.addOption(
          String.valueOf(tipoDemandaServicoDTO.getIdTipoDemandaServico()),
          tipoDemandaServicoDTO.getNomeTipoDemandaServico());
    }

    HTMLSelect idPrioridade = (HTMLSelect) document.getSelectById("idPrioridade");
    idPrioridade.removeAllOptions();
    ArrayList<PrioridadeDTO> listaPrioridades;
    PrioridadeDao prioridadeDao = new PrioridadeDao();
    listaPrioridades = (ArrayList<PrioridadeDTO>) prioridadeDao.list();
    idPrioridade.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    for (PrioridadeDTO prioridadeDTO : listaPrioridades) {
      idPrioridade.addOption(
          String.valueOf(prioridadeDTO.getIdPrioridade()),
          Util.tratarAspasSimples(Util.retiraBarraInvertida(prioridadeDTO.getNomePrioridade())));
    }

    HTMLSelect urgencia = (HTMLSelect) document.getSelectById("urgencia");
    urgencia.removeAllOptions();
    urgencia.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    urgencia.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa"));
    urgencia.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media"));
    urgencia.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta"));

    HTMLSelect impacto = (HTMLSelect) document.getSelectById("impacto");
    impacto.removeAllOptions();
    impacto.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    impacto.addOption("B", UtilI18N.internacionaliza(request, "citcorpore.comum.baixa"));
    impacto.addOption("M", UtilI18N.internacionaliza(request, "citcorpore.comum.media"));
    impacto.addOption("A", UtilI18N.internacionaliza(request, "citcorpore.comum.alta"));

    HTMLSelect intervaloNotificacao = (HTMLSelect) document.getSelectById("intervaloNotificacao");
    intervaloNotificacao.removeAllOptions();
    // intervaloNotificacao.addOption("", UtilI18N.internacionaliza(request,
    // "citcorpore.comum.selecione")); Retirado o critério de obrigatório da tela, mas o banco
    // necessita de informação
    intervaloNotificacao.addOption("15", "15");
    intervaloNotificacao.addOption("30", "30");
    intervaloNotificacao.addOption("45", "45");
    intervaloNotificacao.addOption("60", "60   (1:00h)");
    intervaloNotificacao.addOption("75", "75   (1:15h)");
    intervaloNotificacao.addOption("90", "90   (1:30h)");
    intervaloNotificacao.addOption("105", "105 (1:45h)");
    intervaloNotificacao.addOption("120", "120 (2:00h)");
    intervaloNotificacao.addOption("135", "135 (2:15h)");
    intervaloNotificacao.addOption("150", "150 (2:30h)");
    intervaloNotificacao.addOption("165", "165 (2:45h)");
    intervaloNotificacao.addOption("180", "180 (3:00h)");
    intervaloNotificacao.addOption("195", "195 (3:15h)");
    intervaloNotificacao.addOption("210", "210 (3:30h)");
    intervaloNotificacao.addOption("225", "225 (3:45h)");
    intervaloNotificacao.addOption("240", "240 (4:00h)");
    intervaloNotificacao.addOption("255", "255 (4:15h)");
    intervaloNotificacao.addOption("270", "270 (4:30h)");
    intervaloNotificacao.addOption("285", "285 (4:45h)");
    intervaloNotificacao.addOption("300", "300 (5:00h)");
    intervaloNotificacao.addOption("315", "315 (5:15h)");
    intervaloNotificacao.addOption("330", "330 (5:30h)");
    intervaloNotificacao.addOption("345", "345 (5:45h)");
    intervaloNotificacao.addOption("360", "360 (6:00h)");

    HTMLSelect prazoExecucao = (HTMLSelect) document.getSelectById("prazoExecucao");
    prazoExecucao.removeAllOptions();
    prazoExecucao.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
    prazoExecucao.addOption("15", "15");
    prazoExecucao.addOption("30", "30");
    prazoExecucao.addOption("45", "45");
    prazoExecucao.addOption("60", "60   (1:00h)");
    prazoExecucao.addOption("75", "75   (1:15h)");
    prazoExecucao.addOption("90", "90   (1:30h)");
    prazoExecucao.addOption("105", "105 (1:45h)");
    prazoExecucao.addOption("120", "120 (2:00h)");
    prazoExecucao.addOption("135", "135 (2:15h)");
    prazoExecucao.addOption("150", "150 (2:30h)");
    prazoExecucao.addOption("165", "165 (2:45h)");
    prazoExecucao.addOption("180", "180 (3:00h)");
    prazoExecucao.addOption("195", "195 (3:15h)");
    prazoExecucao.addOption("210", "210 (3:30h)");
    prazoExecucao.addOption("225", "225 (3:45h)");
    prazoExecucao.addOption("240", "240 (4:00h)");
    prazoExecucao.addOption("255", "255 (4:15h)");
    prazoExecucao.addOption("270", "270 (4:30h)");
    prazoExecucao.addOption("285", "285 (4:45h)");
    prazoExecucao.addOption("300", "300 (5:00h)");
    prazoExecucao.addOption("315", "315 (5:15h)");
    prazoExecucao.addOption("330", "330 (5:30h)");
    prazoExecucao.addOption("345", "345 (5:45h)");
    prazoExecucao.addOption("360", "360 (6:00h)");

    HTMLSelect prazoCriarProblema = (HTMLSelect) document.getSelectById("prazoCriarProblema");
    prazoCriarProblema.removeAllOptions();
    // prazoCriarProblema.addOption("", UtilI18N.internacionaliza(request,
    // "citcorpore.comum.selecione"));
    prazoCriarProblema.addOption("15", "15");
    prazoCriarProblema.addOption("30", "30");
    prazoCriarProblema.addOption("45", "45");
    prazoCriarProblema.addOption("60", "60   (1:00h)");
    prazoCriarProblema.addOption("75", "75   (1:15h)");
    prazoCriarProblema.addOption("90", "90   (1:30h)");
    prazoCriarProblema.addOption("105", "105 (1:45h)");
    prazoCriarProblema.addOption("120", "120 (2:00h)");
    prazoCriarProblema.addOption("135", "135 (2:15h)");
    prazoCriarProblema.addOption("150", "150 (2:30h)");
    prazoCriarProblema.addOption("165", "165 (2:45h)");
    prazoCriarProblema.addOption("180", "180 (3:00h)");
    prazoCriarProblema.addOption("195", "195 (3:15h)");
    prazoCriarProblema.addOption("210", "210 (3:30h)");
    prazoCriarProblema.addOption("225", "225 (3:45h)");
    prazoCriarProblema.addOption("240", "240 (4:00h)");
    prazoCriarProblema.addOption("255", "255 (4:15h)");
    prazoCriarProblema.addOption("270", "270 (4:30h)");
    prazoCriarProblema.addOption("285", "285 (4:45h)");
    prazoCriarProblema.addOption("300", "300 (5:00h)");
    prazoCriarProblema.addOption("315", "315 (5:15h)");
    prazoCriarProblema.addOption("330", "330 (5:30h)");
    prazoCriarProblema.addOption("345", "345 (5:45h)");
    prazoCriarProblema.addOption("360", "360 (6:00h)");

    preencherComboContrato(document, request, response);
  }
  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);
  }