public void carregaMetaDados(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    DataBaseMetaDadosService data =
        (DataBaseMetaDadosService)
            ServiceLocator.getInstance().getService(DataBaseMetaDadosService.class, null);
    DataBaseMetaDadosDTO dataBaseMetaDadosDTO = (DataBaseMetaDadosDTO) document.getBean();

    DataBaseMetaDadosUtil dataBaseMetaDadosUtil = new DataBaseMetaDadosUtil();
    String carregados =
        dataBaseMetaDadosUtil.sincronizaObjNegDB(dataBaseMetaDadosDTO.getNomeTabela(), true);
    carregados = UtilStrings.nullToVazio(carregados).replaceAll(",", "<br>");

    data.corrigeTabelaComplexidade();
    data.corrigeTabelaSla();
    data.corrigeTabelaFluxoServico();

    carregados = "<b>Finalizado!</b> <br><b>Tabelas carregadas:</b> <br>" + carregados;
    document.getElementById("divRetorno").setInnerHTML(carregados);
  }
  public void updateFromMap(
      final Map map,
      final Collection colCampos,
      final UsuarioDTO usuarioDto,
      final VisaoDao visaoDao,
      final HttpServletRequest request)
      throws Exception {
    final List lstParms = new ArrayList<>();
    final List lstWhere = new ArrayList<>();
    String strFields = "";
    String strWhere = "";
    final String strTable = this.generateFrom(colCampos);
    String sql = "UPDATE " + strTable + " ";
    for (final Iterator it = colCampos.iterator(); it.hasNext(); ) {
      final CamposObjetoNegocioDTO camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) it.next();

      String strVal = "";
      if (camposObjetoNegocioDTO.getFormula() != null
          && !camposObjetoNegocioDTO.getFormula().trim().equalsIgnoreCase("")
          && !camposObjetoNegocioDTO
              .getTipoNegocio()
              .trim()
              .equalsIgnoreCase(MetaUtil.CLASS_AND_METHOD)) {
        strVal =
            this.executeFormula(camposObjetoNegocioDTO.getFormula(), map, camposObjetoNegocioDTO);
      } else {
        strVal = (String) map.get(camposObjetoNegocioDTO.getNomeDB().trim().toUpperCase());
      }
      if (!camposObjetoNegocioDTO.getPk().equalsIgnoreCase("S")) {
        if (strVal != null) {
          if (!strFields.equalsIgnoreCase("")) {
            strFields += ",";
          }
          strFields += "" + camposObjetoNegocioDTO.getNomeDB().trim() + " = ?";
          lstParms.add(
              MetaUtil.convertType(
                  camposObjetoNegocioDTO.getTipoDB().trim(),
                  strVal,
                  camposObjetoNegocioDTO.getPrecisionDB(),
                  request));
        }
      } else {
        if (strVal != null) {
          if (!strWhere.equalsIgnoreCase("")) {
            strWhere += " AND ";
          }
          strWhere += "" + camposObjetoNegocioDTO.getNomeDB() + " = ?";
          lstWhere.add(
              MetaUtil.convertType(
                  camposObjetoNegocioDTO.getTipoDB().trim(),
                  strVal,
                  camposObjetoNegocioDTO.getPrecisionDB(),
                  request));
        }
      }
    }
    sql += " SET " + strFields + " WHERE " + strWhere;

    lstParms.addAll(lstWhere);

    if (strFields != null && !strFields.trim().equalsIgnoreCase("")) {
      visaoDao.execUpdate(sql, lstParms.toArray());
      if (UtilStrings.nullToVazio(
              ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.USE_LOG, "false"))
          .equalsIgnoreCase("true")) {
        new Thread(new RegistraLogDinamicView(lstParms.toArray(), "U", sql, usuarioDto, strTable))
            .start();
      }
    }

    if (!map.containsKey("REMOVED")) {
      map.put("REMOVED", "false");
    }
    String removed = (String) map.get("REMOVED");
    if (removed == null) {
      removed = "false";
    }
    if (removed.equalsIgnoreCase("X")) { // A nova arquitetura coloca esta informacao.
      removed = "true";
    }
    String sqlUltAtualizAndLogicDelete = "";
    if (removed.equalsIgnoreCase("true")) {
      sqlUltAtualizAndLogicDelete = "UPDATE " + strTable + " SET DELETED = 'Y' WHERE " + strWhere;
      try {
        visaoDao.execUpdate(sqlUltAtualizAndLogicDelete, lstWhere.toArray());
        if (UtilStrings.nullToVazio(
                ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.USE_LOG, "false"))
            .equalsIgnoreCase("true")) {
          new Thread(
                  new RegistraLogDinamicView(
                      lstWhere.toArray(), "D", sqlUltAtualizAndLogicDelete, usuarioDto, strTable))
              .start();
        }
      } catch (final Exception e) {
        LOGGER.debug("SQL executado:" + sqlUltAtualizAndLogicDelete);
        throw new LogicException(
            "Não foi possí­vel realizar a exclusão do registro! Verifique se possui o Campo 'DELETED' do tipo CHAR(1) no Banco de dados!");
      }
    }
  }
  public Map createFromMap(
      final Map map,
      final Collection colCampos,
      final UsuarioDTO usuarioDto,
      final VisaoDao visaoDao,
      final HttpServletRequest request)
      throws Exception {
    final List lstParms = new ArrayList<>();
    String strValues = "";
    String strFields = "";

    if (colCampos == null) {
      LOGGER.debug("DinamicViewsServiceEjb - colCampos é null ");
    }

    final String strTable = this.generateFrom(colCampos);
    String sql = "INSERT INTO " + strTable.toLowerCase() + " ";
    if (colCampos != null) {
      for (final Iterator it = colCampos.iterator(); it.hasNext(); ) {
        final CamposObjetoNegocioDTO camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) it.next();

        String strVal = "";
        if (camposObjetoNegocioDTO != null
            && camposObjetoNegocioDTO.getFormula() != null
            && !camposObjetoNegocioDTO.getFormula().trim().equalsIgnoreCase("")
            && !camposObjetoNegocioDTO
                .getTipoNegocio()
                .trim()
                .equalsIgnoreCase(MetaUtil.CLASS_AND_METHOD)) {
          strVal =
              this.executeFormula(camposObjetoNegocioDTO.getFormula(), map, camposObjetoNegocioDTO);
        } else {
          if (camposObjetoNegocioDTO != null) {
            strVal = (String) map.get(camposObjetoNegocioDTO.getNomeDB().trim());
          }
        }

        if (camposObjetoNegocioDTO != null
            && camposObjetoNegocioDTO.getSequence().equalsIgnoreCase("S")) {
          final int val =
              PersistenceEngine.getNextKey(
                  this.getDao().getAliasDB(),
                  strTable.toLowerCase(),
                  camposObjetoNegocioDTO.getNomeDB().trim().toLowerCase());

          if (!strValues.equalsIgnoreCase("")) {
            strValues += ",";
          }
          strValues += "?";

          if (!strFields.equalsIgnoreCase("")) {
            strFields += ",";
          }
          strFields += "" + camposObjetoNegocioDTO.getNomeDB().trim();

          map.put(camposObjetoNegocioDTO.getNomeDB().trim().toUpperCase(), "" + val);

          lstParms.add(val);
        } else {
          // Se o campo for obrigatório e o valor for null ou vazio, não pode continuar.
          if (camposObjetoNegocioDTO != null
              && camposObjetoNegocioDTO.getObrigatorio() != null
              && camposObjetoNegocioDTO.getObrigatorio().equalsIgnoreCase("S")) {
            if (strVal == null || strVal.trim().equals("")) {
              return map;
            }
          } else {
            /*
             * Desenvolvedor: euler.ramos e thiago.oliveira Data: 08/11/2013 Horário: 16h00min ID Citsmart: 123627 Motivo/Comentário: As telas
             * dinamic view não estavam
             * listando os registros que estavam com o campo deleted igual a null
             */
            if (camposObjetoNegocioDTO != null
                && camposObjetoNegocioDTO.getNome().equalsIgnoreCase("deleted")) {
              if (strVal == null || strVal.equals("")) {
                strVal = "n";
              }
            }
            // Se o campo não for obrigatório mas o valor for null, recebe vazio para garantir que
            // não de erro de sql (para campos tipo not null)
            if (strVal == null) {
              strVal = UtilStrings.nullToVazio(strVal);
            }
          }

          if (!strValues.equalsIgnoreCase("")) {
            strValues += ",";
          }
          strValues += "?";

          if (!strFields.equalsIgnoreCase("")) {
            strFields += ",";
          }
          if (camposObjetoNegocioDTO != null) {
            strFields += "" + camposObjetoNegocioDTO.getNomeDB().trim();
            lstParms.add(
                MetaUtil.convertType(
                    camposObjetoNegocioDTO.getTipoDB().trim(),
                    strVal,
                    camposObjetoNegocioDTO.getPrecisionDB(),
                    request));
          }
        }
      }
    }
    sql += "(" + strFields + ") VALUES (" + strValues + ")";
    visaoDao.execUpdate(sql, lstParms.toArray());

    if (UtilStrings.nullToVazio(
            ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.USE_LOG, "false"))
        .equalsIgnoreCase("true")) {
      new Thread(new RegistraLogDinamicView(lstParms.toArray(), "I", sql, usuarioDto, strTable))
          .start();
    }

    return map;
  }
  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);
        }
      }
    }
  }
  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());
  }