/**
   * Metodo para guardar
   *
   * @param dto catalogo a guardar
   * @return Cadena de satisfaccion
   */
  public String guardar(CategoriaPecDto dto) {

    String to = null;
    String mensajeTrx = "";
    SessionMBean sessionMBean =
        (SessionMBean) WebServletContextListener.getApplicationContext().getBean("sessionMBean");
    ApplicationMBean applicationMBean =
        (ApplicationMBean)
            WebServletContextListener.getApplicationContext().getBean("applicationMBean");

    {
      dto.setUsuarioDto(sessionMBean.getSessionUsuarioDto());
      dto.setFecha(UtilCore.Fecha.obtenerFechaActualDate());
      dto.setTerminal(sessionMBean.getSessionTerminal());
    }

    if (sessionMBean.getAccion() == applicationMBean.getNuevo()) {
      try {
        dto.setUsuarioCreacionDto(sessionMBean.getSessionUsuarioDto());
        dto.setFechaCreacion(UtilCore.Fecha.obtenerFechaActualDate());
        dto.setTerminalCreacion(sessionMBean.getSessionTerminal());
        UtilCore.General.toUpperCaseDto(dto);
        actualizarCuadrante(dto);
        nuevo(dto);
        sessionMBean.setAccion(applicationMBean.getEditar());
        mensajeTrx =
            UtilCore.Internacionalizacion.getMensajeInternacional(
                "form.general.mensaje.transaccion.ok");
        recursosManager.showMessage(mensajeTrx);

        to = ""; // retroceder();
      } catch (Exception ex) {
        mensajeTrx = ex.getMessage();
        recursosManager.showError(ex.getMessage());
        logger.error(mensajeTrx);

        to = null;
      }
    } else if (sessionMBean.getAccion() == applicationMBean.getEditar()) {
      try {
        UtilCore.General.toUpperCaseDto(dto);
        actualizarCuadrante(dto);
        editar(dto);
        mensajeTrx =
            UtilCore.Internacionalizacion.getMensajeInternacional(
                "form.general.mensaje.transaccion.ok");
        recursosManager.showMessage(mensajeTrx);
        to = ""; // retroceder();
      } catch (Exception ex) {
        mensajeTrx = ex.getMessage();
        recursosManager.showError(ex.getMessage());
        logger.error(mensajeTrx);
        to = null;
      }
    }

    return to;
  }
  public List<CategoriaPecDto> obtenerParaListaDesplegable(CategoriaPecDto dtoFiltro)
      throws DAOException {
    List<Object> listaParametros = new ArrayList<Object>();
    String hqsql = "select e from CategoriaPecDto as e where e.id=e.id";

    if (dtoFiltro.getId() != null && !dtoFiltro.getId().equals(0L)) {
      hqsql += " and e.id = ?";
      listaParametros.add(dtoFiltro.getId());
    }

    if (dtoFiltro.getDescripcion() != null && dtoFiltro.getDescripcion().length() != 0) {
      hqsql +=
          " and upper(e.descripcion) like '%" + dtoFiltro.getDescripcion().toUpperCase() + "%' ";
    }

    if (dtoFiltro.getEstado() != null) {
      hqsql += " and e.estado = ?";
      listaParametros.add(dtoFiltro.getEstado());
    }

    hqsql += " order by e.id asc, e.descripcion asc ";

    return springHibernateDao.ejecutarQuery(hqsql, listaParametros);
  }