private HashMap getFormFields(HttpServletRequest req) {
   try {
     req.setCharacterEncoding("ISO-8859-1");
   } catch (UnsupportedEncodingException e) {
     System.out.println(
         "PROBLEMA COM CODIFICACAO DE CARACTERES!!! [AjaxProcessEvent.getFormFields()]");
     e.printStackTrace();
   }
   HashMap formFields = new HashMap();
   Enumeration en = req.getParameterNames();
   String[] strValores;
   while (en.hasMoreElements()) {
     String nomeCampo = (String) en.nextElement();
     strValores = req.getParameterValues(nomeCampo);
     if (strValores.length == 0) {
       formFields.put(
           nomeCampo.toUpperCase(),
           UtilStrings.decodeCaracteresEspeciais(req.getParameter(nomeCampo)));
     } else {
       if (strValores.length == 1) {
         formFields.put(
             nomeCampo.toUpperCase(), UtilStrings.decodeCaracteresEspeciais(strValores[0]));
       } else {
         formFields.put(nomeCampo.toUpperCase(), strValores);
       }
     }
   }
   return formFields;
 }
 public String getNumber(String value) {
   if (value == null) {
     return null;
   }
   if (value.indexOf("[") > -1) {
     final String aux = value.substring(value.indexOf("["));
     return UtilStrings.apenasNumeros(aux);
   }
   value = value.replaceAll(",00", "");
   value = value.replaceAll(",000", "");
   value = value.replaceAll("\\,", ".");
   return value;
 }
Пример #3
0
 public Map<String, Object> getValuesFromRequest(final HttpServletRequest req) {
   final Enumeration<String> en = req.getParameterNames();
   String[] strValores;
   final Map<String, Object> formFields = new HashMap<>();
   while (en.hasMoreElements()) {
     final String nomeCampo = en.nextElement();
     strValores = req.getParameterValues(nomeCampo);
     if (strValores.length == 0) {
       formFields.put(
           nomeCampo.toUpperCase(),
           UtilStrings.decodeCaracteresEspeciais(req.getParameter(nomeCampo)));
     } else {
       if (strValores.length == 1) {
         formFields.put(
             nomeCampo.toUpperCase(), UtilStrings.decodeCaracteresEspeciais(strValores[0]));
       } else {
         formFields.put(nomeCampo.toUpperCase(), strValores);
       }
     }
   }
   return formFields;
 }
  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;
  }
  @Override
  public boolean isPKExists(final Collection colCamposPK, final Map hashValores) throws Exception {
    final ObjetoNegocioDao objetoNegocioDao = new ObjetoNegocioDao();
    String sql = "SELECT ";
    String sqlFields = "";
    String sqlFilter = "";
    int i = 1;
    if (colCamposPK == null || colCamposPK.size() == 0) {
      return false;
    }
    for (final Iterator it = colCamposPK.iterator(); it.hasNext(); ) {
      final CamposObjetoNegocioDTO camposObjetoNegocioDTO = (CamposObjetoNegocioDTO) it.next();
      ObjetoNegocioDTO objetoNegocioDTO = new ObjetoNegocioDTO();

      objetoNegocioDTO.setIdObjetoNegocio(camposObjetoNegocioDTO.getIdObjetoNegocio());
      objetoNegocioDTO = (ObjetoNegocioDTO) objetoNegocioDao.restore(objetoNegocioDTO);

      if (objetoNegocioDTO != null) {
        if (!sqlFields.equalsIgnoreCase("")) {
          sqlFields += ", ";
        }
        sqlFields +=
            objetoNegocioDTO.getNomeTabelaDB()
                + "."
                + camposObjetoNegocioDTO.getNomeDB()
                + " Val_"
                + i;
      }
      if (!sqlFilter.equalsIgnoreCase("")) {
        sqlFilter += " AND ";
      }
      String pref = "";
      String suf = "";
      final String comp = "=";
      if (MetaUtil.isStringType(camposObjetoNegocioDTO.getTipoDB().trim())) {
        pref = "'";
        suf = "'";
      }
      String strVal = (String) hashValores.get(camposObjetoNegocioDTO.getNomeDB().toUpperCase());
      if (strVal != null) {
        if (strVal.trim().equalsIgnoreCase("")) {
          // Se nao existir valor para a PK, eh que nao existe!
          return false;
        }
        if (MetaUtil.isNumericType(camposObjetoNegocioDTO.getTipoDB().trim())) {
          final int x = strVal.indexOf("["); // Vai ate este ponto, pois o codigo fica entre [x]
          if (x > -1) {
            strVal = strVal.substring(x);
          }
          strVal = UtilStrings.apenasNumeros(strVal);
        }
        strVal = strVal.replaceAll(",00", "");
        strVal = strVal.replaceAll("\\,", ".");
        sqlFilter +=
            objetoNegocioDTO.getNomeTabelaDB()
                + "."
                + camposObjetoNegocioDTO.getNomeDB()
                + " "
                + comp
                + " "
                + pref
                + strVal
                + suf;
      } else {
        // Se nao existir valor para a PK, eh que nao existe!
        return false;
      }
      i++;
    }

    sql += sqlFields + " FROM " + this.generateFrom(colCamposPK) + " WHERE " + sqlFilter;

    final Collection colRet = this.getDao().execSQL(sql, null);
    if (colRet == null) {
      return false;
    }
    if (colRet.size() > 0) {
      return true;
    }
    return false;
  }
Пример #8
0
  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);
        }
      }
    }
  }
  /**
   * Processa o objeto passado como parametro e retorna uma string javascript
   *
   * @param path
   * @return
   * @throws Exception
   */
  public String process(
      String path, ServletContext ctx, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    String facadeName = getObjectName(path);
    facadeName = UtilStrings.convertePrimeiraLetra(facadeName, "U");
    String ext = getObjectExt(path);
    if (facadeName == null) return null;

    String metodo = null;
    String parmCount = "0";
    Class classe = null;
    if ("load".equalsIgnoreCase(ext)) {
      classe = AjaxProcessLoad.class;
      metodo = "execute";
      parmCount = "1";
      request.setAttribute("parm1", facadeName);
    } else if ("save".equalsIgnoreCase(ext)) {
      classe = AjaxProcessEvent.class;
      metodo = "execute";
      parmCount = "3";
      request.setAttribute("parm1", facadeName);
      request.setAttribute("parm2", facadeName);
      request.setAttribute("parm3", "save");
    } else if ("restore".equalsIgnoreCase(ext)) {
      classe = AjaxProcessEvent.class;
      metodo = "execute";
      parmCount = "3";
      request.setAttribute("parm1", facadeName);
      request.setAttribute("parm2", facadeName);
      request.setAttribute("parm3", "restore");
    } else if ("event".equalsIgnoreCase(ext)) {
      classe = AjaxProcessEvent.class;
      metodo = "execute";
      parmCount = "3";
    } else {
      // System.out.println("Classe: " + Constantes.getValue("FRAMEWORK_LOCATION_FACADE") + "." +
      // facadeName);
      boolean bTentarLocalizarForm = true;
      int iCodigoTentativa = 1;
      while (bTentarLocalizarForm) {
        try {
          // System.out.println("Form action: " + Constantes.getValue("BEAN_LOCATION_FORM") + "." +
          // CitAjaxUtil.convertePrimeiraLetra(name, "U"));
          if (iCodigoTentativa == 1) {
            classe =
                Class.forName(Constantes.getValue("FRAMEWORK_LOCATION_FACADE") + "." + facadeName);
          } else {
            if (Constantes.getValue("FRAMEWORK_LOCATION_FACADE" + iCodigoTentativa) == null) {
              classe = null;
              bTentarLocalizarForm = false;
              break;
            }
            classe =
                Class.forName(
                    Constantes.getValue("FRAMEWORK_LOCATION_FACADE" + iCodigoTentativa)
                        + "."
                        + facadeName);
          }
        } catch (ClassNotFoundException e) {
          iCodigoTentativa++;
          // throw new Exception("Form não encontrado: " + Util.convertePrimeiraLetra(name, "U"));
        }
      }
      if (classe == null) {
        System.out.println("Classe: " + facadeName);
        return null;
      }
      metodo = request.getParameter("method");
      parmCount = request.getParameter("parmCount");
    }
    if (classe != null) {
      Object objeto = classe.newInstance();

      if (parmCount == null) parmCount = "0";

      int iParmCount = 0;
      iParmCount = Integer.parseInt(parmCount);
      Object parmReals[] = null;
      Method mtd = CitAjaxReflexao.findMethod(metodo, objeto);
      if (iParmCount > 0) {
        String parms[] = new String[iParmCount];
        for (int i = 1; i <= iParmCount; i++) {
          try {
            parms[i - 1] = null;
            parms[i - 1] = request.getParameter("parm" + i);
          } catch (Exception e) {
            // TODO: handle exception
            // não é para printar pois este tratamento é para o jboss7
          }

          if (parms[i - 1] == null) {
            parms[i - 1] = (String) request.getAttribute("parm" + i);
          }
        }
        parmReals = new Object[iParmCount];

        Class[] parmTypes = mtd.getParameterTypes();
        for (int i = 0; i < parmTypes.length; i++) {
          parmReals[i] = CitAjaxReflexao.converteTipo(parms[i], parmTypes[i]);
        }
      }
      Method mtdRequest = CitAjaxReflexao.findMethod("setRequest", objeto);
      Method mtdResponse = CitAjaxReflexao.findMethod("setResponse", objeto);

      mtdRequest.invoke(objeto, new Object[] {request});
      mtdResponse.invoke(objeto, new Object[] {response});

      Object retorno = mtd.invoke(objeto, parmReals);
      if (retorno instanceof Collection) {
        return CitAjaxWebUtil.serializeObjects((Collection) retorno, true);
      }
      if (retorno instanceof String) {
        return (String) retorno;
      }
      if (retorno instanceof Integer) {
        return (String) retorno;
      }
      if (retorno instanceof Long) {
        return (String) retorno;
      }
      if (retorno instanceof Double) {
        return (String) retorno;
      }
      if (retorno instanceof Float) {
        return (String) retorno;
      }
      return CitAjaxWebUtil.serializeObject(retorno, true);
    }

    return null;
  }
Пример #10
0
  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 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 load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    HashMap hashValores = getFormFields(request);
    String idStr = (String) hashValores.get("ID");
    int id = -1;
    try {
      if (idStr != null && !idStr.equalsIgnoreCase("-1")) {
        idStr = UtilStrings.apenasNumeros(idStr);
      }
      id = Integer.parseInt(idStr);
    } catch (Exception e) {
      // e.printStackTrace();
    }
    BICategoriasService biCategoriasService =
        (BICategoriasService)
            ServiceLocator.getInstance().getService(BICategoriasService.class, null);
    BIConsultaService biConsultaService =
        (BIConsultaService) ServiceLocator.getInstance().getService(BIConsultaService.class, null);
    String strCab = "";
    if (id == -1) {
      strCab += "[{";
      strCab += "\"id\":-1,";
      strCab +=
          "\"text\":\"" + UtilI18N.internacionaliza(request, "listagemConsultas.consultas") + "\",";
      strCab += "\"children\":[";
      Collection colObjsNeg = biCategoriasService.findSemPai();
      if (colObjsNeg != null) {
        boolean bPrim = true;
        for (Iterator it = colObjsNeg.iterator(); it.hasNext(); ) {
          BICategoriasDTO biCategoriasDTO = (BICategoriasDTO) it.next();
          if (!bPrim) {
            strCab += ",";
          }
          strCab += "{";
          strCab += "\"id\":\"G" + biCategoriasDTO.getIdCategoria() + "\",";
          strCab += "\"text\":\"" + biCategoriasDTO.getNomeCategoria() + "\",";
          strCab += "\"state\":\"closed\"";
          strCab += "}";
          bPrim = false;
        }
      }
      strCab += "]";
      strCab += "}]";
    } else {
      Collection col = biCategoriasService.findByIdCategoriaPai(id);
      Collection col2 = biConsultaService.findByIdCategoria(id);
      if (col != null || col2 != null) {
        if (col == null) col = new ArrayList();
        if (col2 == null) col2 = new ArrayList();
        strCab += "[";
        boolean bPrim = true;
        for (Iterator it = col.iterator(); it.hasNext(); ) {
          if (!bPrim) {
            strCab += ",";
          }
          BICategoriasDTO biCategoriasDTO = (BICategoriasDTO) it.next();
          // String strTam = "";
          strCab += "{";
          strCab += "\"id\":\"G" + biCategoriasDTO.getIdCategoria() + "\",";
          strCab += "\"text\":\"" + biCategoriasDTO.getNomeCategoria() + "\"";
          strCab += "}";
          bPrim = false;
        }
        bPrim = true;
        for (Iterator it = col2.iterator(); it.hasNext(); ) {
          if (!bPrim) {
            strCab += ",";
          }
          BIConsultaDTO biConsultaDTO = (BIConsultaDTO) it.next();
          // String strTam = "";
          strCab += "{";
          strCab +=
              "\"id\":\"" + biConsultaDTO.getTipoConsulta() + biConsultaDTO.getIdConsulta() + "\",";
          strCab += "\"text\":\"" + biConsultaDTO.getNomeConsulta() + "\"";
          strCab += "}";
          bPrim = false;
        }
        strCab += "]";
      }
    }

    request.setAttribute("json_retorno", strCab);
  }