viernes, 10 de septiembre de 2010

Charts

<script type="text/javascript" src="http://www.google.com/jsapi"> </script>
<script type="text/javascript">google.load('visualization', '1', {packages: ['columnchart']}); </script>
<script type="text/javascript">google.load('visualization', '1', {packages: ['barchart']}); </script>


primera captura

jueves, 9 de septiembre de 2010

Aplicando JSTL y EL

< p > Usuario: <select name="nameUsuario">
<c:forEach var="opcion" items="${usuarios}" >
<option>${opcion.nombre} ${opcion.apellido}</option>
</c:forEach>
</select></p>

<p>Rubro:< select name="nameRubro">
<c:forEach var="opcion" items="${rubros}" >
<option>${opcion.nombre}</option>
</c:forEach>
</select></p>

Aplicacion de Filtro

Filtro: validar.java

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
throws IOException, ServletException {
RequestDispatcher rq=request.getRequestDispatcher("index.jsp");
HttpSession sesion=((HttpServletRequest) request).getSession();
Usuario u=(Usuario)sesion.getAttribute("user");
if(u==null){
rq.forward(request,response);
}
chain.doFilter(request, response);
}

Configuración del web.xml:


<filter>
<filter-name>validar</filter-name>
<filter-class>filtros.validar</filter-class>
</filter>
<filter-mapping>
<filter-name>validar</filter-name>
<url-pattern>/ventana_admin.jsp</url-pattern>
</filter-mapping>

Gadget


Esta página nos proporciona una serie de artículos relacionados al google gadgets.

Característica Social


Encontre una página muy buena donde te explican lo sencillo que es poder agregar característica social a la app web , www.wibiya.com

Pantallas Iniciales









martes, 7 de septiembre de 2010

Base Actualizada

-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 31-08-2010 a las 22:07:17
-- Versión del servidor: 5.1.36
-- Versión de PHP: 5.3.0

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `gastos04`
--

-- --------------------------------------------------------

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `convenio`
--

CREATE TABLE `convenio` (
`idconvenio` int(11) NOT NULL auto_increment,
`nombreUniversidad` text NOT NULL,
`pais` text NOT NULL,
`descripcion` text NOT NULL,
`fecha` date NOT NULL,
`latitud` double NOT NULL,
`longitud` double NOT NULL,
PRIMARY KEY (`idconvenio`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Volcar la base de datos para la tabla `convenio`
--

INSERT INTO `convenio` (`idconvenio`, `nombreUniversidad`, `pais`, `descripcion`, `fecha`, `latitud`, `longitud`) VALUES
(1, 'Universidad de Texas', 'USA', 'Convenio con Usa', '2010-09-06', -95.36238, 29.720949),
(2, 'Universidad Veracruzana de México', 'Mexico', 'Convenio con Mexico', '2010-09-08', -96.110759, 19.162666);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detallerubro`
--

CREATE TABLE `detallerubro` (
`iddetalleRubro` int(11) NOT NULL auto_increment,
`idusuario` int(11) NOT NULL,
`idrubro` int(11) NOT NULL,
`valorMax` double NOT NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`iddetalleRubro`),
KEY `fk_detallerubro_usuario` (`idusuario`),
KEY `fk_detallerubro_rubro` (`idrubro`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Volcar la base de datos para la tabla `detallerubro`
--

INSERT INTO `detallerubro` (`iddetalleRubro`, `idusuario`, `idrubro`, `valorMax`, `fecha`) VALUES
(1, 1, 1, 200, '2010-08-30'),
(2, 1, 4, 300, '2010-08-30'),
(3, 2, 4, 1000, '2010-09-01');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `egreso`
--

CREATE TABLE `egreso` (
`idegreso` int(11) NOT NULL auto_increment,
`iddetalleRubro` int(11) NOT NULL,
`descripcion` text NOT NULL,
`valor` double NOT NULL,
`tags` text NOT NULL,
`fecha` date NOT NULL,
`latitud` double NOT NULL,
`longitud` double NOT NULL,
PRIMARY KEY (`idegreso`),
KEY `fk_egreso_detallerubro` (`iddetalleRubro`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Volcar la base de datos para la tabla `egreso`
--

INSERT INTO `egreso` (`idegreso`, `iddetalleRubro`, `descripcion`, `valor`, `tags`, `fecha`, `latitud`, `longitud`) VALUES
(1, 1, 'Libros de Fisica', 34, 'estudio,fisica,libro', '2010-08-30', 0, 0),
(2, 2, 'Viaje a Colombia Universidad Icesi', 100, 'viaje', '2010-09-08', -76.315192, 3.202888),
(3, 3, 'viaje a Mexico Instituto Tecnológico y de Estudios Superiores de Monterrey', 200, 'viaje', '2010-09-06', -100.290686, 25.651435);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `menu`
--

CREATE TABLE `menu` (
`idmenu` int(11) NOT NULL auto_increment,
`idusuario` int(11) NOT NULL,
`descripcion` text NOT NULL,
`link` text NOT NULL,
PRIMARY KEY (`idmenu`),
KEY `fk_menu_usuario` (`idusuario`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Volcar la base de datos para la tabla `menu`
--

INSERT INTO `menu` (`idmenu`, `idusuario`, `descripcion`, `link`) VALUES
(1, 1, 'Ingresar Rubros Maximos', 'insertar_rubrosmax.jsp'),
(2, 1, 'Ingresar Convenios', 'insertar_convenios.jsp'),
(3, 1, 'Consultar Movimientos', 'consultar_movim.jsp'),
(4, 2, 'Registrar Egresos', 'insertar_egresos.jsp'),
(5, 2, 'Consultar Movimientos', 'consultar_movim.jsp');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `rubro`
--

CREATE TABLE `rubro` (
`idrubro` int(11) NOT NULL auto_increment,
`nombre` text NOT NULL,
PRIMARY KEY (`idrubro`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Volcar la base de datos para la tabla `rubro`
--

INSERT INTO `rubro` (`idrubro`, `nombre`) VALUES
(1, 'Libros'),
(2, 'Tesis'),
(3, 'Matriculas'),
(4, 'Viajes');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuario`
--

CREATE TABLE `usuario` (
`idusuario` int(11) NOT NULL auto_increment,
`idconvenio` int(11) NOT NULL,
`nombre` text NOT NULL,
`apellido` text NOT NULL,
`username` text NOT NULL,
`password` text NOT NULL,
`rol` text NOT NULL,
`email` text NOT NULL,
`matricula` int(11) NOT NULL,
`facultad` text NOT NULL,
PRIMARY KEY (`idusuario`),
KEY `fk_usuario_convenio` (`idconvenio`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Volcar la base de datos para la tabla `usuario`
--

INSERT INTO `usuario` (`idusuario`, `idconvenio`, `nombre`, `apellido`, `username`, `password`, `rol`, `email`, `matricula`, `facultad`) VALUES
(1, 0, 'Juan', 'Aguirre', 'admin', 'daw', 'admin', 'juanag@espol.edu.ec', 0, ''),
(2, 2, 'Carlos', 'Aguilar', 'becario', 'daw', 'becario', 'carlosag@espol.edu.ec', 200001010, 'fiec'),
(3, 1, 'Johnny', 'Ramirez', 'becario', 'daw', 'becario', 'joomrami@espol.edu.ec', 200614196, 'fiec');

--
-- Filtros para las tablas descargadas (dump)
--

--
-- Filtros para la tabla `detallerubro`
--
ALTER TABLE `detallerubro`
ADD CONSTRAINT `fk_detallerubro_usuario` FOREIGN KEY (`idusuario`) REFERENCES `usuario` (`idusuario`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `fk_detallerubro_rubro` FOREIGN KEY (`idrubro`) REFERENCES `rubro` (`idrubro`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Filtros para la tabla `egreso`
--
ALTER TABLE `egreso`
ADD CONSTRAINT `fk_egreso_detallerubro` FOREIGN KEY (`iddetalleRubro`) REFERENCES `detallerubro` (`iddetalleRubro`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Filtros para la tabla `menu`
--
ALTER TABLE `menu`
ADD CONSTRAINT `fk_menu_usuario` FOREIGN KEY (`idusuario`) REFERENCES `usuario` (`idusuario`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Filtros para la tabla `usuario`
--
ALTER TABLE `usuario`
ADD CONSTRAINT `fk_usuario_convenio` FOREIGN KEY (`idconvenio`) REFERENCES `usuario` (`idconvenio`) ON DELETE NO ACTION ON UPDATE CASCADE;

Consulta de Convenios














martes, 31 de agosto de 2010

Display Tags

Para utilizar el display tag hay que añadir las siguientes librerias:

- displaytag
- displaytag-export-poi
- display-portlet
- commons-beanutils

- commons-collections
- commons-lang

<%@taglib prefix="display" uri="http://displaytag.sf.net" %>


<display:table name="sessionScope.movimiento" id="Movimiento" class="displaytag" export="true" pagesize="4">
<display:column property="nombreBecario" sortable="true" title="BECARIO">
<display:column property="rubro" sortable="true" title="RUBRO">
<display:column property="descripcion" sortable="true" title="DESCRIPCION">
<display:column property="fecha" sortable="true" title="FECHA">
<display:column property="valor" sortable="true" title="VALOR">
<display:setproperty name="export.csv" value="true">
<display:setproperty name="export.xml" value="true">
<display:setproperty name="export.excel.filename" value="ejemplo.xls">
<display:setproperty name="export.pdf" value="true">
<display:setproperty name="export.pdf.filename" value="ejemplo.pdf">
<display:setproperty name="export.rtf" value="true">
<display:setproperty name="export.rtf.filename" value="ejemplo.rtf">
<display:setproperty name="basic.empty.showtable" value="true">
</display:table>

Rediseño de el modelo de base Gastos04

miércoles, 25 de agosto de 2010

La base definitiva

-- phpMyAdmin SQL Dump
-- version 2.10.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 24-08-2010 a las 19:53:56
-- Versión del servidor: 5.0.45
-- Versión de PHP: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `gastos04`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `convenio`
--

CREATE TABLE `convenio` (
`idconvenio` int(20) NOT NULL auto_increment,
`nombreuniversidad` varchar(25) NOT NULL,
`pais` varchar(20) NOT NULL,
`descripcion` varchar(50) NOT NULL,
`facultad` varchar(20) NOT NULL,
`fechaconvenio` date NOT NULL,
`iduser` int(20) NOT NULL,
PRIMARY KEY (`idconvenio`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `convenio`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `egreso`
--

CREATE TABLE `egreso` (
`idegreso` int(20) NOT NULL auto_increment,
`fecha` date NOT NULL,
`valor` double NOT NULL,
`iduser` int(20) NOT NULL,
`idrubro` int(20) NOT NULL,
PRIMARY KEY (`idegreso`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `egreso`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ingreso`
--

CREATE TABLE `ingreso` (
`idingreso` int(20) NOT NULL auto_increment,
`fecha` date NOT NULL,
`valor` double NOT NULL,
`iduser` int(20) NOT NULL,
`idrubro` int(20) NOT NULL,
PRIMARY KEY (`idingreso`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `ingreso`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `rubro`
--

CREATE TABLE `rubro` (
`idrubro` int(20) NOT NULL auto_increment,
`nombre` varchar(25) NOT NULL,
`descripcion` varchar(50) NOT NULL,
PRIMARY KEY (`idrubro`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `rubro`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuario`
--

CREATE TABLE `usuario` (
`iduser` int(20) NOT NULL auto_increment,
`nombre` varchar(25) NOT NULL,
`apellido` varchar(25) NOT NULL,
`telefono` varchar(12) NOT NULL,
`email` varchar(50) NOT NULL,
`rol` enum('administrador','becario') NOT NULL,
`username` varchar(15) NOT NULL,
`password` varchar(15) NOT NULL,
PRIMARY KEY (`iduser`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `usuario`
--



Este es el script de la base q hice y que se va a usar para este avance si falta algo o algo esta mal la modificamos

jueves, 19 de agosto de 2010

Diagrama de la base

Mostrar datos XML con YUI DataTable Control




Mostrar datos XML con YUI DataTable Control

Una cosa que me gusta de YUI es que Yahoo será la sede de todas las bibliotecas, que exige que sólo se incluyen las bibliotecas que necesita. En este ejemplo, vamos a incluir las siguientes hojas de estilo y las bibliotecas YUI:

http://yui.yahooapis.com/2.5.2/build/fonts/fonts-min.css
http://yui.yahooapis.com/2.5.2/build/datatable/assets/skins/sam/datatable.css
http://yui.yahooapis.com/2.5.2/build/yahoo-dom-event/yahoo-dom-event.js”>
http://yui.yahooapis.com/2.5.2/build/connection/connection-min.js”>
http://yui.yahooapis.com/2.5.2/build/element/element-beta-min.js”>
http://yui.yahooapis.com/2.5.2/build/datasource/datasource-beta-min.js”>
http://yui.yahooapis.com/2.5.2/build/datatable/datatable-beta-min.js”>

Tenemos que decirle dónde mostrar la producción real. En este caso, vamos a utilizar un div con id localxml:

<div id=”localxml”></div>

Luego, tenemos el código JavaScript que llama a los usos y las diferentes funciones de las bibliotecas antes mencionadas:

<script type=”text/javascript”>
YAHOO.util.Event.addListener(window, "load", function() {
YAHOO.example.Local_XML = new function() {
this.connectionCallback = {
success: function(o) {
var xmlDoc = o.responseXML;

var myColumnDefs = [
{key:"iduniversidad", sortable:true, formatter:this.formatUrl},
{key:"nombre", sortable:true, formatter:this.formatUrl},
{key:"ubicacion", sortable:true, formatter:this.formatUrl},
{key:"ciudad", sortable:true, formatter:this.formatUrl}
];

this.myDataSource = new YAHOO.util.DataSource(xmlDoc);
this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
this.myDataSource.responseSchema = {
resultNode: "Universidad",
fields: ["iduniversidad","nombre","ubicacion","ciudad"]
};

this.myDataTable = new YAHOO.widget.DataTable("localxml", myColumnDefs, this.myDataSource);

},
failure: function(o) {

}
};

this.getXML = YAHOO.util.Connect.asyncRequest("GET",
"http://localhost:8084/ProyectoFinal/Servlet1",
this.connectionCallback);
};
});
</script>

Fuente: http://brad.melendy.com/?p=101

Interfaz Login de GAIA


GAIA es el nombre que le designamos a nuestra aplicacion