Está en la página 1de 262

1 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II

“UNIVERSIDAD AUTONOMA JUAN MISAEL SARACHO”

FACULTAD DE CIENCIAS Y TECNOLOGÌA Carrera

de Ingeniería Informática

Proyecto de Taller II

Nombre Proyecto: “EUGENIA MOTORS”


Revisión 1.0

Universitarios.
Daniela Ayala Espada
Luis Quispe Hanco

Docente.
Lic. Zulma Ricaldi.
noviembre de 2012
Ficha del documento

Fecha Revisión Autor Verificado por


Lic. Zulma Ricaldi
1.0
30/11/11 Daniela Ayala Espada [Firma o sello]
Luis Quispe Hanco

1.1
12/12/11 Daniela Ayala Espada [Firma o sello]
Luis Quispe Hanco

Documento validado por ambas partes en fecha: por Definir

Por el cliente Por Desarrolladores

Universitarios: Daniela
Empresa de compra y venta Ayala Espada Luis
de vehículos “EUGENIA MOTORS” Quispe Hanco

Encargado: Encargado:

firma firma
Contenido
FICHA DEL DOCUMENTO
CONTENIDO
1 INTRODUCCIÓN
2 OBJETIVOS
2.1 Objetivo General
2.2 Objetivos Específicos
3 ALCANCES Y LIMITACIONES
3.1 Alcances
3.2 Limitaciones
4 MARCO TEÓRICO
4.1 Objeto de Estudio
4.2 Metodología de Desarrollo
4.3 Herramientas de construcción
5 MODELO DE REQUISITOS
5.1 Especificación de Requisitos de Software
5.1.1 Introducción
5.1.1.1 Propósito
5.1.1.2 Alcance
5.1.1.3 Personal involucrado
5.1.1.4 Definiciones, acrónimos y abreviaturas
5.1.1.5 Referencias
5.1.1.6 Resumen
5.1.2 Descripción general 15
5.1.2.1 Perspectiva del producto
5.1.2.2 Funcionalidad del producto
5.1.2.3 Características de los usuarios
5.1.2.4 Restricciones
5.1.2.5 Suposiciones y dependencias
5.1.2.6 Evolución previsible del sistema
5.1.3 Requisitos específicos
5.1.3.1 Requisitos comunes de los interfaces
5.1.3.1.1 Interfaces de usuario
5.1.3.1.2 Interfaces de hardware
5.1.3.1.3 Interfaces de software
5.1.3.1.4 Interfaces de comunicación
5.1.3.2 Requisitos funcionales
5.1.3.2.1 Ingreso a la aplicación
5.1.3.2.2 Gestión de Usuarios
5.1.3.2.3 Gestión Menús
5.1.3.2.4Gestión procesos
5.1.3.2.5Gestión Clientes
5.1.3.2.6Gestión Agencias
5.1.3.2.7Gestión Vehículos
5.1.3.2.8Gestión Compras
5.1.3.2.9Gestión Ventas
5.1.3.2.10 Gestión de Proveedores
5.1.3.2.11 Gestión de Marcas
5.1.3.2.12 Gestión de Modelos
5.1.3.3 Requisitos no funcionales
5.1.3.3.1 Requisitos de rendimiento
5.1.3.3.2 Seguridad
5.1.3.3.3 Fiabilidad
5.1.3.3.4 Disponibilidad
5.1.3.3.5 Mantenibilidad
5.1.3.3.6 Portabilidad
5.1.3.4 Otros requisitos
5.2 Planteamiento del Problema
5.3 Descripción del Problema
5.4 Diagrama de Clases
6 MODELO DE ANÁLISIS
6.1 Diagrama de Secuencias
6.1. Ingresar al Sitema
6.1.2. Gestión Clientes
6.1.3- Gestion Usuarios
6.13. Gestion Proveedor
6.1.4 Gestion Modelos
6.5.1 Gestion Marcas
6.1.6. Gestion Ventas
6.1.7. Gestion Agencias
6.1.8. Gestion Asigmepro (asignacion menu prosesos)
6.1.9. Gestion Asigmenusu(asignacion menu a usuario)
6.1.9.- Gestion Compras
6.1.10. Gestion Menus
6.1.11 Gestion Vehiculos
6.2 Modelo de Datos-Tablas
6.2.1 Modelo Entidad Relación \
6.2.2 Tabla
7 MODELO DE DISEÑO
7.1 Diseño de Interfaces
8 MODELO DE IMPLEMENTACIÓN
8.1 Código de Clases Implementadas
1.- Introducción
Llevamos más de 20 años dedicados a la compra y venta del
automóviles
Queremos seguir dando el servicio más completo del sector con
la máxima garantía y confianza.
Nuestra trayectoria se ha basado principalmente en la
seriedad, calidad y compromiso con cada uno de nuestros
clientes. Un compromiso que lleva convirtiendo clientes en
amigos, un compromiso que si no fuera un coche, no tendría
precio.

Nuestra empresa es especialista en vehículos de alta gama


Ferrari, Porche, Lamborghini, BMW, Mercedes, etc nos
dedicamos a la venta y compra de coches utilitarios y de
menor coste como Opel, Renault, Peugeot, Nissan…

2 Objetivos
2.1 Objetivo General
Desarrollar un sistema automatizado para el control de las
compras y ventas de vehículos que se realizan en la empresa
EUGENIA MOTORS y sus agencias a través de un eficiente
tratamiento de la información.
A través de la protección de la información de la empresa de
forma separada para cada tipo de transacción que se ejecute,
con la intención de controlar las compras, ventas
relacionadas en si con las diferentes agencias de la empresa.

2.2 Objetivos Específicos


 Aplicar la metodología RUP para el desarrollo del
sistema.
 Usar Visual Paradimg como herramienta CASE para la
aplicación de RUP.
 Diseñar una interfaz amigable para el usuario.
 Desarrollar el sistema WEB usando el patrón MVC
utilizando Java EE, JDBCTemplate y una base de Datos
Relacional Postgres.
 Diseñar e Implementar una base de datos de acuerdo a los
requisitos y estructura de la Empresa Eugenia Motors.
 Automatizar las operaciones de la cantidad de ventas,
compras y otros que se realizan en la Empresa.
 Registrar y permitir el ingreso solamente a usuarios del
sistema.
 Registrar y controlar a todos los usuarios.

3 Alcances y Limitaciones
3.1 Alcances
Esta especificación solo abarca el sistema denominado
“EUGENIA MOTORS” y no incluye ningún otro sistema existente
ni relacionado.
Los alcances son los siguientes:
 Gestión de Usuarios.- En esta parte está basado sobre
todo en el control de la administración de los usuarios,
como ser: adicionando nuevos usuarios, modificaciones
respecto a sus datos (herramientas de trabajo, datos
personales respecto al usuario) también estará las bajas
y altas de los usuarios.
 Gestión de Menús.- Se gestiona: adicionando nuevos
menús, modificaciones, eliminar, dar altas y bajas
 Gestión de Procesos.- Se realizara todo el control de la
administración de los procesos, como ser: adicionando
nuevos proceso, modificaciones, eliminar, dar altas y
bajas
 Gestión de Clientes.- Se realizara todo el control de la
administración de los clientes, como ser: adicionando
nuevos clientes, modificaciones, eliminar, dar altas y
bajas
 Gestión de Agencias.- Se realizara todo el control de la
administración de los agencias, como ser: adicionando
nuevos roles, modificaciones, eliminar, dar altas y
bajas
 Gestión de Vehículos.- Se realizara todo el control de
la administración de los vehículos, como ser:
adicionando nuevos vehículo, modificaciones, eliminar,
dar altas y bajas
 Gestión de Compras.- Se realizara todo el control de la
administración de las compras, como ser: adicionando
nueva compra de vehículos, modificaciones, eliminar, dar
altas y bajas
 Gestión de Ventas.- Se realizara todo el control de la
administración de las compras, como ser: adicionando
nueva venta de vehículos, modificaciones, eliminar, dar
altas y bajas
 Gestión de Proveedores.- Se realizara todo el control de
la administración de los proveedores, como ser:
adicionando nuevo proveedor, modificaciones, eliminar,
dar altas y bajas
 Gestión de Marcas.- Se realizara todo el control de la
administración de los marcas, como ser: adicionando
nuevo marca, modificaciones, eliminar,
 Gestión de Modelos.- Se realizara todo el control de la
administración de los modelos, como ser: adicionando
nuevo modelo, modificaciones, eliminar,

3.2 Limitaciones

 El sistema no controlara los salarios del personal de la


empresa
 No controlar a la hora de ingreso del personal
 La seguridad del acceso a la información del sistema
será responsabilidad exclusiva de la Empresa.
4 Marco Teórico
4.1 Objeto de Estudio
El objeto de estudio es un sistema de gestión de los
diferentes movimientos transaccionales de las compras y
ventas que realiza la Empresa cuyo objetivo primordial es
controlar, la cantidad de compras y ventas realizadas por las
agencias de Eugenia Motors como por ejemplo las fechas de
ventas y compras los costos de venta compras los registros de
los usuarios y el rol que se les designo ,los proveedores,
etc.

4.2 Metodología de Desarrollo


RUP es utilizado mayormente en diferentes tipos de sistemas
de software para áreas de aplicación, diferentes
organizaciones, niveles de competencia y diferentes tamaños
de proyectos.
La asignación de tareas y las responsabilidades está bien
organizada durante el proyecto. Su meta es asegurar la
realización del software de alta calidad que satisfaga las
necesidades de los usuarios finales, entre el rango de tiempo
propuesto.

4.3 Herramientas de construcción


o Eclipse Galileo 3.5 es un entorno de desarrollo integrado
(IDE) de código abierto multiplataforma para desarrollar lo
que el proyecto llama “Aplicaciones de Cliente Enriquecido”
(del inglés Rich Client Plastaform RCP) Además del iDE
Eclipse, Eclipse Galileo está compuesto por 32 proyectos
relacionados.

o PostgresSQL 9.0 es un sistema de gestión de base de datos


relacionada orientada a objetos y libre, publicado bajo la
licencia BSD.
Características:
Alta concurrencia, mediante un sistema denominado MVCC
(Acceso concurrente multiversión, por sus siglas en inglés)
PostgreSQL permite que mientras un proceso escribe en una
tabla, otros accedan a la misma tabla sin necesidad de
bloqueos. Cada usuario obtiene una visión consistente de lo
último a lo que se le hizo commit. Esta estrategia es
superior al uso de bloqueos por tabla o por filas común en
otras bases, eliminando la necesidad del uso de bloqueos
explícitos.
Amplia variedad de tipos nativos, PostrgreSQL provee
nativamente soporte para:
 Números de precisión arbitraria.
 Texto de largo ilimitado.
 Figuras geométricas (con una variedad de funciones
asociadas)
 Direcciones IP(IPv4 e IPv6)
 Bloques de direcciones estilo CIDR.
 Direcciones Mac.
 Arrays.

Adicionalmente los usuarios pueden crear sus propios tipos de


datos, los que pueden ser por completo indexables gracias a
la infraestructura GIST.
Otras características:

 Claves ajenas también denominadas llaves ajenas o Claves


Foráneas (foreign keys).
 Disparadores (triggers), un disparador o trigger se
define como una acción específica que se realiza de
acuerdo a un evento, cuando este ocurra dentro de la
base de datos.
 Vistas
 Integridad transaccional
 Herencia de tablas
 Tipos de datos y operaciones geométricas
 Soporte para transacciones distribuidas. Permite a
PostgreSql integrarse en un sistema distribuido formado
por varios recursos
 Funciones, bloques de código que se ejecutan en el
servidor. Pueden ser escritos en varias lenguas con la
potencia que cada uno de ellos da.
5 Modelo de Requisitos
5.1 Especificación de Requisitos de Software
5.1.1 Introducción
Esta parte del documento es una especificación de requisitos
de software para el sistema es web denominado “Andaluz”,
tiene como fin definir un conjunto de requerimientos lo más
completo, consistente y

5.1.1.1 Propósito
El objeto de la especificación es definir de manera clara y
precisa todas las funcionalidades y restricciones del sistema
que se desea construir.
El documento va dirigido a las personas encargadas del
desarrollo e implementación del sistema, a la Empresa Eugenia
Motors, a la Administración de la organización, etc. Este
documento será el canal de comunicación entre las partes
implicadas.

5.1.1.2 Personal involucrado


Existen cuatro tipos de usuarios que principalmente podrían
manejar el producto.

Nombre Descripción
Administrador Esta encargado de toda la
parte de la administración de
compras y ventas de vehículos
El encargado de las ventas Es el encargado de gestionar
de autos el pago en venta de autos
Secretaria Registrara las ventas y
compras de vehículos
Supervisor Encargado de Inspeccionar los
movimientos de entrada y
salida de vehículos nuevos
En cuanto al encargado de ventasserá el responsable de llevar
reportes totales de cada transacción monetaria que se realice
en cada venta y todo movimiento al administrador

El Supervisortambién inspeccionara al encargado de ventas

Claro estos tres conocimientos básicos del funcionamiento del


sistema

5.1.1.3 Definiciones, acrónimos y abreviaturas


Definiciones

Clientes Son las personas que realizan


la compra de vehículos ya
sea al contado o crédito
Secretaria Encargada de cualquier
diligencia que se ofrezca
Conductores Encargados de mostrar las
cualidades de los vehículos
sus funciones, capacidades y
manejos
Cuotas Estas están dadas al crédito
por las compras que hacen los
clientes
Kardex Historial de los clientes,
donde están todos los datos
personales
Usuarios
Son parte del sistema, cada
usuario posee un rol que lo
identificara la función que
cumplirá en el manejo de
sistema.
Acrónimos

EM Eugenia Motors
MVC Modelo Vista Controlador

Abreviaturas

Nro. Numero de usuario


ABM Ingreso eliminación y
modificación de vehículos

5.1.1.4Referencias

 IEEE Recommended Practice for Software Requirements


Specification. ANSI/IEEE std.830, 1998.

5.1.1.5 Resumen
Esta sección de requisitos consta de tres sub secciones. Esta
sección es la Introducción y proporciona una visión general
de la ERS. En la sección 2 se da una descripción general del
sistema, con el fin de conocer las principales funciones que
debe realizar, los datos asociados y los factores,
restricciones, supuestos y dependencias que afectan al
desarrollo, sin entrar en excesivos detalles. En la sección 3
se definen con más detalle los requisitos que debe satisfacer
el sistema.

5.1.2 Descripción general


En esta sección se presenta una descripción a alto nivel del
sistema. Se presentarán las principales áreas a las cuales el
sistema debe dar soporte, las funciones que el sistema debe
realizar, la información utilizada, las restricciones y otros
factores que afecten al desarrollo del mismo.

5.1.2.1 Perspectiva del producto


El producto a desarrollar es un sistema para la
administración de la Empresa de Compra y Venta de Vehiculos
“Eugenia Motors”. El objetivo es poder automatizar las tareas
realizadas manualmente, solo el personal autorizado podrá
tener acceso a las funcionalidades del sistema.

5.1.2.2 Funcionalidad del producto


Esta sección nos presenta una descripción general del sistema
con el fin de conocer las funciones que debe soportar, los
datos asociados, las restricciones impuestas y cualquier otro
factor que pueda influir en la construcción del mismo.
Las funciones que debe realizar el sistema se pueden agrupar
de la siguiente manera:

Gestión de Usuarios
 Adicionar usuarios más password
 Modificar datos del usuario y dar de baja
 Sesionar el usuario para todas las interfaces.
 Asignar usuarios con sus roles

Gestión de Menús
 Registrar nuevo menú.
 Borrar menú.
 El sistema tendrá menús dinámicos, eso quiere decir que
la estructura de menús serán definidos por los usuarios
finales.
 Asignar menús a usuario ya registrado anteriormente.
 Asignar menú con sus procesos.
Gestión Procesos
 Adicionar nuevo proceso
 Modificar proceso y dar de baja
Gestión Clientes
 Adicionar clientes
 Modificar datos del cliente y dar de baja
 Eliminar cliente
Gestión Agencias
 Adicionar Agencias
 Modificar datos de Agencia y dar de baja
Gestión Vehículos
 Adicionar vehículos
 Modificar datos del vehículo y dar de baja
Gestión Compras
 Adicionar compra
 Modificar compra y dar de baja
 Detalle de Usuario.
 Detalle de Vehículo
 Detalle de proveedor
Gestión Ventas
 Adicionar nueva venta
 Modificar datos de la venta y dar de baja
 Detalle de Usuario.
 Detalle de Vehículo
 Detalle de Cliente
Gestión de Proveedores

 Adicionar proveedores
 Modificar datos del proveedor y dar de baja
 Eliminar proveedor
Gestión de Marcas

 Adicionar marca
 Eliminar marca
Gestión de Modelos
 Adicionar modelos
 Eliminar modelo
5.1.2.3 Características de los usuarios

Tipo de usuario Administrador del sistema Eugenio


Motors
Formación Lic. en Administración de Empresas
Habilidades Tiene varios conocimientos, ytambién
ha trabajado en varias empresas de
diferentes cargos y con conocimientos
básicos de PC
Actividades Encargado de la administración de
compras y ventas de vehículos y de
otros servicios

Tipo de usuario Lic.Raúl tapia Encargado de las ventas


Formación Lic. Economía
Habilidades Tiene amplios conocimientos en el área
y en computación
Actividades Es el encargado de las ventas de autos
nuevos (de la sección de contabilidad
y finanzas)registra los ingresos y
egresos de los vehículos,gestiona las
ventas con sus procesos

Tipo de usuario Ejecutora


Formación Técnico medio
Habilidades Conocimientos amplios en Ofimática y
contabilidad
Actividades Registrar las actividades de ventas de
vehículos

Tipo de usuario Supervisor Jorge lozano


Formación Lic. en administración de Empresas
Habilidades Tiene varios conocimientos en el área
es un buen encuestador especialista en
marketing
Actividades Encargado de inspeccionar los
movimientos de entrada y salida de
vehículos nuevos y supervisar al
encargado de ventas

5.1.2.4 Restricciones

 El software debe realizar un control de acceso, previo


ingreso del usuario al sistema.

 El software debe llevar un control de seguridad para las


transacciones (registro, borrado o modificado de
resultados) realizadas a los registros de cada tipo.

 El Sistema será desarrollado en un ambiente visual,


utilizando el Lenguaje de Programación Orientado a
Objetos Java con el entorno de eclipse en su versión
5.0 galileo.
 La Base de Datos a utilizarse en el desarrollo del
sistema será PostgreSQL en su Versión 9.0 sobre la
plataforma Windows.

 Los recursos mínimos de hardware necesarios para la


implementación del sistema en una plataforma mono-
usuario, deben soportar adicionalmente el uso de
distintos tipos de software de aplicación que facilite
el trabajo de sus empleados en el proceso de datos.
Las características del equipo son las siguientes:
-Equipocorel Quad de 2.4 de procesador
-Memoria RAM con 2GB como minimo
-Tarjetas de video de 2GB
-Capacidad de disco duro de 500GB
-Sistema windows 7
-Impresora
-Monitor SLD de 19 pulgadas

5.1.2.5 Suposiciones y dependencias


En el documento se expresan los requisitos en términos de lo
que el sistema debe proporcionar a los usuarios que acceden a
él para consultar. No obstante, el sistema no proporcionará
nada útil a menos que haya alguien que introduzca los datos.
Se asumirá, por tanto, que los administradores serán los
responsables de realizar una carga inicial de datos, a partir
de los datos actuales de los asociados.
Se asume que los requisitos descritos en este documento son
estables una vez que sea aprobado por la Administracion de la
empresa Eugenia Motors. A partir de ese momento, cualquier
petición de cambios en esta especificación deberá ser
aprobada por todas las partes, previo análisis del impacto
que dicha petición de cambio supondrá para el sistema, para
la BD o para los usuarios.
El sistema dependerá de un servidor apache Tomcat 6.0 que
previamente deberá ser instalado para el funcionamiento del
sistema.

5.1.2.6 Evolución previsible del sistema


-Mejora de la interfaz Gráfica (Imágenes, animaciones 2d).
-Eventos de botones.

5.1.3 Requisitos específicos


5.1.3.1 Requisitos comunes de los interfaces

El sistema recibirá como entradas comunes principalmente el


nombre de usuario y el password de los usuarios que
interactuaran con el sistema y que quiera realizaran una
transacción o función en el sistema
Como salidas el sistema será capaz de generar reportes de
todas las ventas y compras de autos nuevos que se realizaron,
el reporte de nuevos ingresos de vehículos a la empresa

5.1.3.1.1 Interfaces de usuario


El software será amigable, se quiere desarrollar con un logo
estático en la parte superior con colores suaves para la
vista del usuario
Después tendrá una barra de menú de color azul y esté tendrá
subprocesos.
En la parte central se mostraran los registros conforme su
contenido; diseñados en tabla tendrán contornos celeste o
plomos, los títulos serán de color negro, y con un fondo
transparente.
5.1.3.1.2 Interfaces de hardware
Como características lógicas entre la interfaz del sistema y
el hardware, se requiere IE o Mozilla para correr el sistema,
y para levantar el sistema se necesitará un servidor Apache
Tomcat 6.0 como mínimo.

5.1.3.1.3 Interfaces de software


Actualmente el sistema no depende de otros sistemas para su
funcionamiento de su interfaz.

5.1.3.1.4 Interfaces de comunicación


Protocolo TCP/IP para la comunicación del sistema entre otras
terminales.
Un servidor de Aplicaciones para levantar el sistema.
Un base datos relacional preferentemente postgres 9.0

5.1.3.2 Requisitos funcionales


5.1.3.2.1 Ingreso a la aplicación

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Apertura a la 01/10/12 Esencial


aplicación

Descripción El sistema debe permitir ingresar por medio de


la cabecera HTTP.
Entradas Fuente Salida Destino Restricciones

el IP del Pantalla Pantalla El ingreso


computador en opción solo lo
en donde se Red de realiza el
encuentra registrar personal
conectado o al autorizado
URL usuario para tal
evento.

Proceso El sistema deberá tener un nombre por medio del cual


permita su ingreso digitándolo en la barra del
navegador: http//nombre…. Todo esto debidamente
configurado en el servidor Web.

Efecto Para este sistema la dirección será:


Colateral http://localhost:8080/andaluz_v1/sesion.html

5.1.3.2.2 Administrar Usuarios

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


usuario

El sistema debe permitir la creación de diferentes


Descripción
usuarios para asignarles menús de acuerdo a sus
tareas

Entradas Fuente Salida Destino Restricciones

códusu, Formulario Usuario Base de El login


nombre, de ingreso guardado datos. debe ser
ap., de datos: con estado diferente
am.,estado “adicionar habilitado, de la
foto, usuario”. el usuario clave.
login, con acceso Es
clave. al sistema necesario
el llenado
de los
datos.
El codusu
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los usuarios,
permitiendo su crear usuarios. El sistema deberá
verificar los campos que estén llenos y luego al
dar la opción de guardar, el sistema creara el
usuario en la base de datos y lo dejara disponible
para que pueda ingresar. Antes deberá salir un
mensaje de confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad


RF_1 Modificar 01/10/12 Esencial
usuario

Descripc
El sistema deberá permitir la modificación de
ión datos del usuario.

Entradas Fuente Salida Destino Restriccio


nes

códusu Base de
, Formul Confirmac datos. No se
nombre ario ión por modific
,ap, de pantalla ara la
am,est ingres de la clave
ado o de modificac ni el
foto, datos ión. passwor
login, d.
clave.

Proceso
El administrador deberá ingresar en la opción de
administrar usuarios, en donde aparecerá un
listado de los usuarios creados. Se seleccionara
el link para la modificación, él administrador
deberá introducir los datos que desee modificar
y se grabara los cambios.

Efecto No aplica
colateral
“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 01/10/12 Esencial


Habilitar e
inhabilitar
usuario

Descripc
El sistema deberá permitir la habilitar o
ión deshabilitar al usuario.

Entradas Fuente Salida Destino Restriccio


nes

códusu, Formul Confirmac Propied El


ario: ión por ad del usuario
“gesti pantalla usuario del
ón de modific adminis
usuari ado trador
os ” del
sistema
no
podrá
ser
inhabil
itado
ya que
es el
quien
lo
maneja.

Proceso
El administrador deberá tener la opción que le permitirá
listar los usuarios para habilitar o inhabilitarlo, cada
usuario tendrá un link con la acción que desee realizar.
La opción de habilitar la tienen los usuarios
inhabilitados y la de deshabilitar los usuarios
habilitados. Todo esto tendrá un mensaje de
confirmación.
Efecto
colater El usuario inhabilitado no puede ingresar al
sistema
al

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Modificar 01/10/12 Esencial


clave de
usuario

Descripción
El sistema deberá permitir la modificación de la
clave

Entradas Fuente Salida Destino Restricciones

códusu, Formulario Base de


login, de ingreso Usuario datos. Deberá
clave, de datos con introducir la
nueva nueva clave
clave clave de anterior
ingreso El usuario No
al debe estar
sistema. inhabilitado.
No se
modifica el
login.

Proceso

El administrador deberá tener la opción que le


permitirá listar los usuarios para modificar la
clave, cada usuario tendrá un link con la acción
que desee realizar. La opción de modificar la clave
será un formulario que se llenara la clave anterior
y la clave actual, después se guardara en BD. Todo
esto tendrá un mensaje de confirmación.
Efecto No Aplica
Colateral

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

Seguridad de la
RF_1 contraseña 01/10/12 Esencial
El sistema deberá permitir la autentificación de la
Descripción contraseña para mayor seguridad.

Entradas Fuente Salida Destino Restricciones


Login, clave Formulario Ingreso al Base de El usuario
del usuario. de ingreso sistema. datos debe estar
de registrado en
contraseña el sistema.

Al momento que se cree un usuario en el sistema


Proceso correspondiente encriptará la clave para
almacenarla en la BD. Al momento que un usuario
requiera ser validado en el sistema, este le
presentará una pantalla de autenticación de
usuario para que el usuario ingrese su login y
clave, al momento de enviar estos datos la
contraseña ingresada por el usuario y compara
estos datos contra los de la base de datos.

Efecto No aplica
Colateral

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

Asignación y
RF_1 eliminación de 01/10/12 Esencial
menús del
usuario
El sistema deberá permitir la asignación de menús
Descripción al usuario y la eliminación física del menú.

Entradas Fuente Salida Destino Restricciones


Menú, códusu,
nombre del Formulario Usuario El usuario
Base
usuario de ingreso con puede tener
de
de datos menús. datos más de un
menú

El administrador deberá ingresar en la opción de


Proceso gestión menusu, en donde aparecerá un listado de
los usuarios creados. Se seleccionara el link de
asignar menú y se visualizara un formulario donde
seleccionara el menú que quiere asignarse y una
lista de los menú actuales que han sido asignados
anteriormente pudiendo borrar con un link el
menú; el administrador seleccionara el menú que
quiere borrar y se desaparecerá el menú de la
lista. Para la asignación de menú se grabara en
BD. Con una confirmación por pantalla.

Efecto No aplica
Colateral

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

Ver usuario
RF_1 01/10/12 Esencial
El sistema ver datos de usuario
Descripción
Entradas Fuente Salida Destino Restricciones
códusu,
nombre,ap,
Formulario Ver datos Solo se puede
am,
Base
foto, ver datos de ver datos
de
uaurios. datos personales

El administrador deberá ingresar en la opción de ver


Proceso datos para visualizar el detalle de datos personales
de usuario

Efecto No aplica
Colateral

5.1.3.2.3 GestiónMenús

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


menu

El sistema debe permitir la creación de diferentes


Descripción
menús

Entradas Fuente Salida Destino Restricciones


Formulario Base de
códmenu, de ingreso Menú datos. Es
nombre, de datos: guardado necesario
estado “adicionar con estado el llenado
menu”. habilitado, de los
datos.
El codmenu
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los menus, permitiendo
crear menus. El sistema deberá verificar los campos
que estén llenos y luego al dar la opción de
guardar, el sistema creara el menu en la base de
datos y lo dejara disponible para que pueda
ingresar. Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Modificar 01/10/12 Esencial


menus

Descripc
El sistema deberá permitir la modificación de datos
ión del usuario.

Entradas Fuente Salida Destino Restriccio


nes
códmen Base de
u, Formul Confirmac datos. Se
nombre ario ión por modific
,estad de pantalla de ara el
o ingres la nombre
o de modificac
datos ión.

Proceso
El administrador deberá ingresar en la opción de
administrar menús, en donde aparecerá un listado de los
menús creados. Se seleccionara el link para la
modificación, él administrador deberá introducir los
datos que desee modificar y se grabara los cambios.

Efecto No aplica
colateral

5.1.3.2.4 Gestionar procesos

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


procesos

El sistema debe permitir la creación de diferentes


Descripción
procesos
Entradas Fuente Salida Destino Restricciones

códpro, Formulario proceso Base de Es


nombre, de ingreso guardado datos. necesario
estado,enlace de datos: con estado el llenado
“adicionar habilitado, de los
procesos”. datos.
El codpro
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los procesos,
permitiendo su crear procesos. El sistema deberá
verificar los campos que estén llenos y luego al
dar la opción de guardar, el sistema creara el
proceso Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar 01/10/12 Esencial


procesos

Descripc
El sistema deberá permitir la eliminacion de datos
ión del procesos.
Entradas Fuente Salida Destino Restriccio
nes

códpro Base de
Formul Confirmac datos. Se
ario ión por elimina
de pantalla de ra
elimin la proceso
acion eliminaci
on.

Proceso
El administrador deberá ingresar en la opción de
administrar procesos, en donde aparecerá un listado de
los procesos creados. Se seleccionara el link para la
eliminacion,antes de esperar la confirmacion de
eliminacion

Efecto No aplica
colateral

5.1.3.2.6 Gestionar agencias

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


agencia

El sistema debe permitir la creación de diferentes


Descripción
agencias
Entradas Fuente Salida Destino Restricciones

códag, Formulario Agencia Base de Es


nombre, de ingreso guardado datos. necesario
dirección, de datos: con estado el llenado
teléfono,foto “adicionar habilitado, de los
estado. agencia”. datos.
El codag
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los agencias,. El
sistema deberá verificar los campos que estén
llenos y luego al dar la opción de guardar, el
sistema creara el agencias en la base de datos.
Antes deberá salir un mensaje de confirmación de
datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar 01/10/12 Esencial


agencia

El sistema debe permitir la eliminacion agencias


Descripción

Entradas Fuente Salida Destino Restricciones


códag, Formulario Agencia Base de Es
eliminar eliminada, datos. necesario
agencia”. seleccionar
la agencia
antes de
eliminar

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los agencias,
permitiendo eliminar. Antes deberá salir un mensaje
de confirmación de datos.

5.1.3.2.7 Gestionar clientes

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


cliente

El sistema debe permitir la creación de diferentes


Descripción
clientes

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códcli, de ingreso cliente Es
nombre, de datos: guardado necesario
ap., “adicionar con estado el llenado
am.,estado clientes”. habilitado, de los
foto,. datos.
El codcli
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los usuarios,
permitiendo su crear clientes. El sistema deberá
verificar los campos que estén llenos y luego al
dar la opción de guardar, el sistema creara el
cliente en la base de datos. Antes deberá salir un
mensaje de confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Modificar 01/10/12 Esencial


cliente

Descripción El sistema debe permitir la modificacion de clientes

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códcli, de ingreso cliente Es
nombre, de datos: modificado necesario
ap., “modificar con estado el llenado
am.,estado clientes”. habilitado, de los
foto,. datos.
El codcli
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los clientes,
permitiendo modificar clientes. El sistema deberá
verificar los campos que estén llenos y luego al
dar la opción de guardar, el sistema creara el
cliente Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar 01/10/12 Esencial


cliente

Descripción El sistema debe permitir la eliminacion del clientes

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códcli, eliminar desea Es
clientes”. eliminar necesario
cliente, seleccionar
al cliente
antes de
eliminarlo

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los clientes,
permitiendo su eliminar clientes Antes deberá salir
un mensaje de confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


cliente

El sistema debe permitir la creación de diferentes


Descripción
clientes

Entradas Fuente Salida Destino Restricciones

Formulario Base de
ver datos.
clientes”.
códcli, cliente Solo se
nombre, datos vera datos
ap., personales
am.,estado de los
foto,. clientes

Proceso
El administrador del sistema deberá tener la
opcion de ver detalle de los clientes

5.1.3.2.8 Gestionar compras

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


compra

El sistema debe permitir la creación de diferentes


Descripción
compras

Entradas Fuente Salida Destino Restricciones

Formulario Base de
de ingreso datos.
de datos:
“adicionar
compra”.
códcomp, compra
codusu, guardado Es
codprocodmov con estado necesario
codag habilitado, el llenado
estado fecha de los
cantida datos.
importe El codcomp
gestión debe ser
precio diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar las compras, permitiendo
su crear compras. El sistema deberá verificar los
campos que estén llenos se introduce datos nuevos y
otros datos opcionales que ya están registrados en
la base de datos y que se pueden seleccionar por
decir la marca el modelo el proveedor y de donde se
esta comprando y luego al dar la opción de guardar,
el sistema creara la compra en la base de datos.
Antes deberá salir un mensaje de confirmación de
datos.

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar compra 01/10/12 Esencial

El sistema debe permitir la eliminación de la compra


Descripción

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códcomp, “eliminar compra Es
compra”. eliminado, necesario
seleccionar
la compra
antes de
eliminar

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar las compras, permitiendo
eliminar la compra. Antes deberá salir un mensaje
de confirmación de datos.

5.1.3.2.9 Gestionar ventas

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


venta

El sistema debe permitir la creación de diferentes


Descripción
ventas

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario Venta
códven, de ingreso guardado Es
codusu, de datos: con estado necesario
codcli “adicionar habilitado, el llenado
codmov ventas”. de los
codag datos.
estado El codven
fecha debe ser
cantida diferente a
importe los demás
gestión ya
precio almacenados

Proceso

El administrador del sistema deberá tener la opción


que le permita administrar las ventas, permitiendo
adicionar ventas realizadas a la fecha. El sistema
deberá verificar los que los campos se introduscan
datos nuevos y otros que se pueden seleccionar que
ya están registrados en la base de datos y que se
pueden seleccionar por decir la marca el modelo y
el cliente y luego al dar la opción de guardar, el
sistema creara la venta en la base de datos. Antes
deberá salir un mensaje de confirmación de datos.

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar venta 01/10/12 Esencial

El sistema debe permitir la eliminacion de la venta


Descripción

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario venta
códven, “eliminar eliminado, Es necesario
venta”. seleccionar
la venta
antes de
eliminar

Proceso
El administrador del sistema deberá tener la opción que
le permita administrar los ventas, permitiendo eliminar
las ventas. Antes deberá salir un mensaje de confirmación
de datos.

5.1.3.2.10 Gestionar Proveedores

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


proveedor

El sistema debe permitir la creación de diferentes


Descripción proveedores

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario proveedor
códprov, nombre, de ingreso guardado Es
empresadireccion de datos: con estado necesario
telf. “adicionar habilitado, el llenado
estado proveedor”. de los
datos.
El codprov
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los proveedores,
permitiendo su crear proveedores. El sistema deberá
verificar los campos que estén llenos y luego al dar
la opción de guardar, el sistema creara el proveedor
en la base de datos Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Modificar 01/10/12 Esencial


proveedor

Descripción El sistema debe permitir modificar proveedores

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códprov, de ingreso proveedor Es
nombre, de datos: modificado, necesario
empresa “modificar el llenado
direccion proveedor”. de los
telf. datos.
estado El codprov
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los proveedores,
permitiendo modificarlos proveedores. El sistema
deberá verificar los campos que estén llenos y luego
al dar la opción de guardar, el sistema creara el
proveedor en la base de datos Antes deberá salir un
mensaje de confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar 01/10/12 Esencial


proveedor

El sistema debe permitir la eliminacion de


Descripción
proveedores

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códprov, “eliminar proveedor Es
proveedor”. eliminado, necesario
seleccionar
el
proveedor
antes de
eliminar

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los proveedores,
permitiendo eliminar proveedores. Antes deberá
salir un mensaje de confirmación de datos.

5.1.3.2.11 Gestionar marca

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


marca

El sistema debe permitir la creación de diferentes


Descripción
marcas de vehículos

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario marca
códmarc, de ingreso guardado Es
nombre, de datos: con estado necesario
ap., “adicionar habilitado, el llenado
,estado marca”. de los
datos.
El codmarc
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los marcas, permitiendo
crear marcas. El sistema deberá verificar los
campos que estén llenos y luego al dar la opción de
guardar, el sistema creara la marca en la base de
datos. Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar marca 01/10/12 Esencial

Descripción El sistema debe permitir la eliminacion de marca

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario marca
códmarc, datos de eliminada, Es
eliminacion necesario
seleccionar
antes de
eliminar
marca

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los marcas, permitiendo
eliminar marcas. Antes deberá salir un mensaje de
confirmación de datos.

5.1.3.2.12 Gestionar modelo

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Adicionar 01/10/12 Esencial


modelo

El sistema debe permitir la creación de diferentes


Descripción
modelos de vehículos

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario Usuario
códmodel, de ingreso guardado Es
nombre, de datos: con estado necesario
estado “adicionar habilitado, el llenado
. modelo”. el usuario de los
con acceso datos.
al sistema El codmodel
debe ser
diferente a
los demás
ya
almacenados

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los modelos, permitiendo
su crear modelos. El sistema deberá verificar los
campos que estén llenos y luego al dar la opción de
guardar, el sistema creara el modelo en la base de
datos. Antes deberá salir un mensaje de
confirmación de datos.

“Eugenia Motors”
SRS-Especificación de Requerimientos Funcionales

Código Nombre Fecha Grado Necesidad

RF_1 Eliminar 01/10/12 Esencial


modelo

El sistema debe permitir la eliminacion de modelos


Descripción

Entradas Fuente Salida Destino Restricciones

Base de
datos.
Formulario
códmodel, eliminar Modelo Seleccionar
. datos eliminado antes de
modelo eliminar

Proceso
El administrador del sistema deberá tener la opción
que le permita administrar los modelos, permitiendo
eliminar modelos.salir un mensaje de confirmación
de eliminacion de datos.

5.1.3.3 Requisitos no funcionales


5.1.3.3.1 Requisitos de rendimiento
RNF_1. El tiempo de respuesta de las consultas de reportes no
pueden supera los 30 segundos y consultas de lista no pueden
superar los 20 segundos.
RNF_2. La interfaz del sistema debe levantar automáticamente
ante cada requerimiento.
RNF_3. La interfaz no debe ser sobrecargada de imágenes o
elementos que perjudiquen su normal funcionamiento.

5.1.3.3.2 Seguridad
RNF_4. Cuando un usuario intente conectarse al sistema deberá
introducir su nombre de usuario y clave de acceso y el
sistema deberá comprobar que se trata de un usuario
autorizado.
RNF_5. Acceso al sistema se realizara exclusivamente mediante
conexión cifrada, de modo que se preserve la privacidad de
los datos de nombre de usuario y clave
RNF_6 EL procedimiento de copias de backup y resguardo debe
estar documentado.

5.1.3.3.3 Fiabilidad
RNF_7. Cualquier transacción del usuario deberá ser
finalizada exitosamente.
RNF_8. En caso de error en las transacciones el sistema no
deberá considerar la finalización de la misma.
5.1.3.3.4 Disponibilidad
RNF_9. El sistema deberá presentar tolerancia a fallos
garantizando una disponibilidad del 99%.
5.1.3.3.5 Mantenibilidad
RNF_10. La entrada de datos se debe hacer diariamente para
que permita la actualización de los reportes.
RNF_11. El sistema requiere ser diseñado de tal forma que el
mantenimiento de este sea realizado fácilmente.

5.1.3.3.6 Portabilidad
RNF_12. La totalidad del código desarrollado deberá ser
compatible con las siguientes plataformas:
Windows.
Postgres SQL.

5.1.3.4 Otros requisitos


RNF_13. El sistema deberá funcionar exactamente las 24 horas
del día, todos los días del año sin importar feriados u otras
razones dado a la generación diario de registros de aportes
diarios.

5.2 Planteamiento del Problema

La Empresa de compra y venta y vehículos “Eugenia Motors” se


dedica a la compra y venta de vehículos la cual realiza sus
registros de personal manualmente, la compra de
vehículos(manual), la venta de vehículos(manual), el registro
de sus proveedores de sus clientes y de las agencias son de
manera manual toda esta información demora horas en
realizarlos pues el personal tiene contacto directo con el
cliente

5.3 Descripción del Problema

Control de personal, control de las ventas y compras de


vehículos, estado de los vehículos, control de venta de las
demás agencias de vehículo son de manera manual.

 No hay un control efectivo diario en el cobro de los


pagos de las ventas y compras de vehículos.
 No hay un control efectivo diario en el cobro de los
pagos de las ventas en las agencias
 Conlleva tiempo al atender a cada cliente.

 Conlleva tiempo a la hora de emisión de Recibos.

 Dificultad en la generación de Reportes.


 No se puede Responder con rapidez las Preguntas:

 ¿Cuál es el monto total recaudado del día?

 ¿Quiénes son los clientes inhabilitados?


6 MODELO DE ANÁLISIS

6.1 Diagrama de Secuencias


6.1. Ingresar al Sistema
6.1.2. GESTIÓN CLIENTES
ADICIONAR CLIENTES
ELIMIRAR CLIENTE
MODIFICAR CLIENTE:
LISTAR CLIENTE
VER DETALLE CLIENTE
6.1.3- GESTION USUARIOS
ADICIONAR USUARIOS
ELIMINAR USUARIO.-
MODIFICAR USUARIOS
LISTAR USUARIOS
MODIFICAR LOGUIN Y CALVE DEL USUARIO
VER DETALLE USUARIO
ALTAS Y BAJAS DE USUARIO
6.13. GESTION PROVEEDOR
ADICIONAR PROVEEDOR
ELIMINAR PROVEEDOR
MODIFICAR PROVEEDOR
6.1.4 GESTION MODELOS
ADICIONAR MODELO
ELIMINAR MODELO
MODIFICAR MODELO
6.5.1 GESTION MARCAS
ADICIONAR MARCAS
ELIMINAR MARCA
6.1.6. GESTION VENTAS
ADICIONAR VENTAS
ELIMINAR VENTA
6.1.7. GESTION AGENCIAS
ADICIONAR AGENCIAS
ELIMINAR AGENCIA
MODIFICAR AGENCIA
VER DETALLE DE AGENCIA
6.1.8. GESTION ASIGMEPRO (ASIGNACION MENU PROSESOS)
ADICIONAR ASIGMEPRO
ELIMINAR ASIGMEPRO
MODIFICAR ASIGMEPRO
VER DETALLE ASIGMEPRO
6.1.9. GESTION ASIGMENUSU(ASIGNACION MENU A USUARIO)
ADICIONAR ASIGMENUSU
ELIMINAR ASIGMENUSU
6.1.9.- GESTION COMPRAS
ADICIONAR COMPRAS
ELIMINAR COMPRAS
6.1.10. GESTION MENUS
ADICIONAR MENUS
ELIMINAR MENUS
MODIFICAR MENU
VER MENU
6.1.11 GESTION VEHICULOS
ADICIONAR AUTO
ELIMINAR AUTO
MOSIFICAR AUTO
VER DETALLE AUTO
6.2.2 Tablas, Scripts

TABLA AGENCIAS.-

CREATE TABLE agencias (


codag integer NOT NULL,
nombre character varying(20) NOT NULL,
direccion character varying(20),
telefono character varying(12),
foto character varying(200), estado
boolean DEFAULT true, CONSTRAINT
agencias_pkey PRIMARY KEY
(codag)
)
TABLA ASIGMNUSU.-

CREATE TABLE asigmenusu(


codusu integer NOT NULL,
codme integer NOT NULL,
CONSTRAINT asigmenusu_pkey PRIMARY KEY
(codusu, codme)
)

TABLA ASIGMEPRO.-

CREATE TABLE
asigmepro( codme integer
NOT NULL, codpro integer
NOT NULL,
CONSTRAINT asigmepro_pkey PRIMARY KEY
(codme, codpro))

TABLA ASIGROLUSU

CREATE TABLE asigrolusu(

codusu integer NOT NULL,


codrol integer NOT NULL,
CONSTRAINT asigrolusu_pkey PRIMARY KEY
(codusu, codrol)
)

TABLA CLIENTE

CREATE TABLE cliente(


codcli integer NOT NULL,
nombre character varying(20) NOT NULL,
ap character varying(20),
am character varying(20),
foto character varying(20),
estado boolean DEFAULT true,
CONSTRAINT cliente_pkey PRIMARY KEY
(codcli))

TABLA COMPRA
100 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1001

CREATE TABLE compra(


codcomp integer NOT NULL,
codusu integer NOT NULL,
codprov integer NOT NULL,
codmov integer NOT NULL,
codag integer NOT NULL,
estado boolean DEFAULT true,
fecha date NOT NULL,
gestion character varying(10),
CONSTRAINT compra_pkey PRIMARY KEY
(codcomp, codusu, codprov, codmov, codag))
TABLA DATOS

CREATE TABLE datos(


codusu integer NOT NULL,
"login" character varying(20) NOT NULL,
clave character varying(20) NOT NULL,
estado boolean DEFAULT true,
CONSTRAINT datos_pkey PRIMARY KEY
(codusu)
)

TABLA DETACOMP
CREATE TABLE detacomp(
codcomp integer NOT NULL,
codusu integer NOT NULL,
codprov integer NOT NULL,
codmov integer NOT NULL,
cant integer NOT NULL,
importe integer NOT NULL,
estado boolean DEFAULT true,
precio integer,
CONSTRAINT detacomp_pkey PRIMARY KEY
(codcomp, codusu, codprov, codmov)
)

TABLA DETAVENT

CREATE TABLE
detavent( codven integer
NOT NULL, codusu integer
NOT NULL, codcli integer
NOT NULL, codmov integer
NOT NULL, cant integer
NOT NULL, importe integer
NOT NULL,
estado boolean DEFAULT true,
precio integer,
CONSTRAINT detavent_pkey PRIMARY KEY
(codven, codusu, codcli, codmov)
)
TABLA MARCA

CREATE TABLE marca


(
codmarc integer NOT NULL,
nombre character varying(20) NOT NULL,
estado boolean DEFAULT true,
CONSTRAINT marca_pkey PRIMARY KEY
(codmarc)
)

TABLA MENUES
CREATE TABLE menues(
codme integer NOT NULL,
nombre character varying(20) NOT NULL,
estado boolean DEFAULT true,
CONSTRAINT menus_pkey PRIMARY KEY (codme)
)
TABLA MODELO

CREATE TABLE modelo


(
codmodel integer NOT NULL,
nombre character varying(20) NOT NULL,
estado boolean DEFAULT true,
CONSTRAINT modelo_pkey PRIMARY KEY
(codmodel)
)
TABLA PROCESOS

CREATE TABLE procesos


(
codpro integer NOT NULL,
nombre character varying(20) NOT NULL,
estado boolean DEFAULT true,
enlace character varying(100),
CONSTRAINT procesos_pkey PRIMARY KEY
(codpro)
)
TABLA PROVEEDOR

CREATE TABLE proveedor(


codprov integer NOT NULL,
nombre character varying(20) NOT NULL,
empresa character varying(20) NOT NULL,
direccion character varying(20),
telf character varying(20), estado
boolean DEFAULT true, CONSTRAINT
proveedor_pkey PRIMARY KEY
(codprov)
)
TABLA ROLES

CREATE TABLE roles(


codrol integer NOT NULL,
nombre character varying(20) NOT NULL,
descripcion character varying(200),
CONSTRAINT roles_pkey PRIMARY KEY
(codrol)
)

TABLA TIPOAUTO

CREATE TABLE tipoauto(


codtipo integer NOT NULL,
nombre character varying(20) NOT NULL,
CONSTRAINT tipoauto_pkey PRIMARY KEY
(codtipo)
)

TABLA USUARIOS

CREATE TABLE usuarios (


codusu integer NOT NULL,
nombre character varying(20) NOT NULL,
ap character varying(20),
am character varying(20),
estado boolean DEFAULT true,
foto character varying(200),
CONSTRAINT usuario_pkey PRIMARY KEY
(codusu))

TABLA VEHÍCULO

CREATE TABLE
vehiculo( codmov integer
NOT NULL, codmarc integer
NOT NULL, codmodel integer
NOT NULL,
placa character varying(20) NOT NULL,
nrochasis integer NOT NULL,
color character varying(20) NOT NULL,
costo integer NOT NULL,
nropuertas integer NOT NULL,
obs character varying(100),
estado boolean DEFAULT true,
fecha date NOT NULL,
codtipo integer NOT NULL,
CONSTRAINT vehiculo_pkey PRIMARY KEY
(codmov, codmarc, codmodel))

TABLA VENTAS

CREATE TABLE ventas


(
codven integer NOT NULL,
codusu integer NOT NULL,
codcli integer NOT NULL,
codmov integer NOT NULL,
codag integer NOT NULL,
estado boolean DEFAULT true,
fecha date NOT NULL,
gestion character varying(10),
CONSTRAINT ventas_pkey PRIMARY KEY
(codven, codusu, codcli, codmov, codag)
)
7 MODELO DE DISEÑO
7.1 DISEÑO DE INTERFACES

7.1.1.- INGRESAR AL SISTEMA

7.1.2.- MENÚ PRINCUPAL


7.1.3.-ADICIONAR CLIENTES.-

7.1.4.- LISTAR CLIENTES


110 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1101

7.1.5.- ELIMINAR CLIENTE

7.1.6.-ADICIONAR USUARIOS
7.1.7.- LISTAR USUARIOS

7.1.8.- ELIMINAR USUARIOS


7.1.9.- MODIFICAR USUARIOS.-

7.1.10.- MODIFICAR CLAVE DE USUARIO


7.1.11.- ALTAS Y BAJAS DE USUARIO

7.1.12 ADICIONAR PROVEEDORES


7.1.13 LISTAR PROVEEDORES

7.1.14.- ELIMINAR PROVEEDORES


7.1.15.- MODIFICAR DATOS DEL PROVEEDOR

7.1.16.- LISTAR MARCAS


7.1.17.- ADICIONAR MARCAS

7.1.18.- ELIMINAR MARCAS


7.1.19.- LISTAR VENTAS
7.1.20.- ADICIONAR VENTAS
7.1.21.- LISTAR AGENCIA.-

7.1.22.- ADICIONAR AGENCIA


120 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1201

7.1.23.-ELIMINAR AGENCIA.-

7.1.24.- MODIFICAR AGENCIA


7.1.25.-L ISTAR ASIGMEPRO.-

7.1.26.- ASIGMEPRO LISTAR USUARIOS.-


7.1.27.- ASIGMENUPRO LISTAR USUARIOS (ADICIONAR)

7.1.28.-ASIGMENUPRO LISTAR USUARIOS (ELIMINAR)


7.1.29.- LISTAR COMPRAS

7.1.30.- ADICIONAR COMPRAS.-


7.1.31.- ELIMINAR COMPRA

7.1.32.- LISTAR MENUS


7.1.33.-LISTAR VEHICULOS.-
8 Modelo de Implementación

8.1 Código de Clases Implementadas

package controller;

import java.io.File;
importjava.sql.ResultSet;
importjava.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
importjava.util.Vector;

importjava.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

importjavax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
importorg.springframework.web.servlet.*;
importorg.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
importmodel.domain.*;
publicclass agencias extends MultiActionController implements
InitializingBean {
protectedfinal Log logger =
LogFactory.getLog(getClass());
// vehiculos
private AgenciasManager agenciasManager;

public AgenciasManager getAgenciasManager() {


returnagenciasManager;
}

publicvoid setAgenciasManager(AgenciasManager
agenciasManager) {
this.agenciasManager = agenciasManager;
}

public Log getLogger() {


returnlogger;
}

public ModelAndView listarAgencias(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo de
java
listarAgencias");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = newHashMap();

// colocarfecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy“);

// akillamamosdeltplcompras
String finicio = request.getParameter("finicio");
String ffin = request.getParameter("ffin");
String radio = request.getParameter("radio");

System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}
Date efechaini = null;
Date efechafin = null;
// paraverqueenunodeestos no agarrenulo
if (finicio != null) {
String Fechaini = finicio.substring(3, 5) +
"/"
+ finicio.substring(0, 2) + "/" +
finicio.substring(6, 10);
String Fechafin = ffin.substring(3, 5) + "/" +
ffin.substring(0, 2)
+ "/" + ffin.substring(6, 10);
DateFormat dateformat = new
SimpleDateFormat("MM/dd/yyyy");
efechaini = dateformat.parse(Fechaini);

efechafin = dateformat.parse(Fechafin);
System.out.println("Fechaini = "+Fechaini+"
Fechafin = "+Fechafin);
} else {
efechaini = d;
efechafin = d;
String fechax = fordat.format(d);
finicio = fordat.format(d);
ffin = fordat.format(d);
}

System.out.println(efechaini + " " + efechafin + "


" + radio " "
+ estado);
ArrayList lista2 = newArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;
if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
intini = (num2 * 5) - 5;

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = newHashMap();
p2.put("cont", i);
lista2.add(p2);
}// hastaaqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

List agenciasDat =
agenciasManager.getListaDeAgencias();
System.out.println("despues lista de agencias");

p.put("agenciasDatos", agenciasDat);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

returnnew
ModelAndView("Agencias/GestionAgencias",p);
}

public ModelAndView addAgencias(HttpServletRequest


request,
130 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1301

HttpServletResponse response) throws


Exception, ServletException {
System.out.println("metodo de java addAgencias");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

if (zlogin == null) {
response.sendRedirect("index.html");
}

returnnew ModelAndView("Agencias/addAgencias");
}
public ModelAndView
adicionandoAgencia(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo de
java
adicionandoAgencia");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

if (zlogin == null) {
response.sendRedirect("index.html");
}
// construimos el
objetoqueescapazdeparsearlaperición
// Create a factory for disk-based file items
ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(-1);
//definicionde variables a recepcionar

String znombre = "";


String zdireccion = "";
String ztelefono ="";
String zfoto="";
// Parse the request
try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if (item.getFieldName().equals("xnombre")) {
znombre=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xdireccion")){
zdireccion=item.getString(); }// con el toupperconviertes a
mayusculas
if (item.getFieldName().equals("xtelefono")){
ztelefono=item.getString().toUpperCase();}

}else{
File file =new File(item.getName());
xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){

} }

System.out.println(xfoto);
zfoto = xfoto;
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("znombre = "+znombre+"
zdireccion = "+zdireccion+" ztelefono = "+ztelefono+" zfoto =
"+zfoto);
//terminaprocesohastaaqui

agenciasManager.setAgencia(znombre,zdireccion,ztelefono,
zfoto);

returnthis.listarAgencias(request, response);
}
public ModelAndView modAgencias(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo de java modAgencias");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");
String zcodag = (String)
request.getParameter("xcodag");
int codag = 0;
if (zlogin == null) {
response.sendRedirect("index.html");
}
try{
codag = Integer.parseInt(zcodag);
}catch(NumberFormatException ex){
ex.printStackTrace();
}
System.out.println("codag = "+codag);
Map p = newHashMap();
List agencia = agenciasManager.getAgencia(codag);
p.put("agencia",agencia);
p.put("xcodag",codag);
returnnew ModelAndView("Agencias/modAgencias",p);
}
public ModelAndView
modificandoAgencia(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo de java
modificandoAgencia");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

if (zlogin == null) {
response.sendRedirect("index.html");
}
// construimos el
objetoqueescapazdeparsearlaperición
// Create a factory for disk-based file items
ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicionde variables a recepcionar
String zcodag = "";
String znombre = "";
String zdireccion = "";
String ztelefono ="";
String zfoto="";
// Parse the request
try {
List items = upload.parseRequest(request);
Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
//if (item.getFieldName().equals("xcodag")) {
zcodag=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xnombre")) {
znombre=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xdireccion")){
zdireccion=item.getString(); }// con el toupperconviertes a
mayusculas
if (item.getFieldName().equals("xtelefono")){
ztelefono=item.getString().toUpperCase();}

}else{
File file =new File(item.getName());
xfoto=file.getName();

System.out.println(xfoto);
zfoto = xfoto;
} }
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("znombre = "+znombre+"
zdireccion = "+zdireccion+" ztelefono = "+ztelefono+" zfoto =
"+zfoto);
//terminaprocesohastaaqui

//agenciasManager.setAgencia(znombre,zdireccion,ztelefon
o,zfoto);
zcodag = (String) request.getParameter("xcodag");
System.out.println("zcodag = "+zcodag);
agenciasManager.modAgencia(zcodag,znombre,zdireccion,zfo
to);
returnthis.listarAgencias(request, response);
}
publicvoid afterPropertiesSet() throws Exception { //
TODO Auto-generated method stub

}}
*************************************************************
***********

package controller;

importjava.io.File;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
import java.util.ArrayList;
importjava.util.Date;
import java.util.HashMap;
importjava.util.Iterator;
import java.util.List;
import java.util.Map;

importjava.util.*;

importjavax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

importjavax.servlet.http.*;

importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.FileUploadException;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload
;
import org.apache.commons.logging.*;
importorg.springframework.web.servlet.*;
importorg.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
importmodel.domain.*;

publicclass asignarmenu extends MultiActionController


implements InitializingBean{

protectedfinal Log logger =


LogFactory.getLog(getClass());

// usuario
private UsuariosManager usuariosManager;
public UsuariosManager getUsuariosManager() {
returnusuariosManager;
}
publicvoid setUsuariosManager(UsuariosManager
usuariosManager) {
this.usuariosManager = usuariosManager;
}
//MENUS
private MenuesManager menuesManager;

private Object jdbcTemplate;


public MenuesManager getMenuesManager() {
returnmenuesManager;
}
publicvoid setMenuesManager(MenuesManager menuesManager)
{
this.menuesManager = menuesManager;
}

public Log getLogger() {


returnlogger;
}
public asignarmenu() {
// TODO Auto-generated constructor stub
}
public ModelAndView AsigMenuUsu(HttpServletRequest
request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = newHashMap();

List usuarios=usuariosManager.getAsigMenu();
// conestoenviasciparaquefuncioneestatico el
nombredelusuario
String ci=null;
int c=0;
p.put("xci", ci);
p.put("z", c);
p.put("usuario",usuarios);
returnnew
ModelAndView("AsigMenuUsu/AsigMenuUsu",p);
}
//

public ModelAndView AsigMenuUsu2(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = newHashMap();

String xci=request.getParameter("ci");

//para el filtrodeasigusumenu

String filtro=null;
int e=0;
if(request.getParameter("filtro") != null){

filtro=request.getParameter("filtro").toUpperCase();
e=1;
}
if(filtro== ""){
filtro=null;
e=0;
}
System.out.println(filtro);

//paginador
ArrayList lista2= newArrayList();

String cont="";
intcant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;
int canti;
// esto +
if(filtro != null){
List menu=menuesManager.getAsigMenufiltro(xci,
filtro);
canti=menuesManager.getcontfiltro(xci,
filtro);
p.put("usumenu", menu);
}

else{
//hastaakiaumentasteparafiltroperoparaarriba

List menu=menuesManager.getAsigMenu2(xci, ini);


canti = menuesManager.getpaginador(xci);
p.put("usumenu", menu);
}
if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=newHashMap();
p2.put("cont",i);
lista2.add(p2);
}
p.put("filtro", filtro);
p.put("e", e);
p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
//hastaaqui

List usuarios=usuariosManager.getAsigMenu();

String ci=null;

int c=1;
p.put("xci", xci);
p.put("z", c);
p.put("usuario",usuarios);

returnnew
ModelAndView("AsigMenuUsu/AsigMenuUsu",p);
}

public ModelAndView selectionMenu(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = newHashMap();
String xci=request.getParameter("ci");

List selection=menuesManager.getMenu(xci);
System.out.println(selection);
p.put("xci", xci);
p.put("select", selection);

returnnew ModelAndView("AsigMenuUsu/ok",p);
}

public ModelAndView selectionMenu2(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = newHashMap();
String xci=request.getParameter("ci");
140 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1401

String xcodm=request.getParameter("codm");
int codm=Integer.parseInt(xcodm);

menuesManager.insertusumenu(xci, codm);

List usuarios=usuariosManager.getAsigMenu();
List menu=menuesManager.getAsigMenu(xci);

String ci=null;

int c=1; p.put("xci",


xci); p.put("z", c);
p.put("usumenu", menu);
p.put("usuario",usuarios);

returnnew
ModelAndView("AsigMenuUsu/AsigMenuUsu",p);
}
// eliminamos menu delatablausumenu
public ModelAndView EliminarMenuUsu(HttpServletRequest
request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = newHashMap();
String xci=request.getParameter("ci");

String xcodm=request.getParameter("codm");
int codm=Integer.parseInt(xcodm);

menuesManager.deleteUsumenu(xci, codm);

List usuarios=usuariosManager.getAsigMenu();
List menu=menuesManager.getAsigMenu(xci);

int c=1; p.put("xci",


xci); p.put("z", c);
p.put("usumenu", menu);
p.put("usuario",usuarios);

returnnew
ModelAndView("AsigMenuUsu/AsigMenuUsu",p);
}

publicvoid afterPropertiesSet() throws Exception {


// TODO Auto-generated method stub
}

*************************************************************
***********
package controller;
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

publicclass asignarproceso extends MultiActionController


implements InitializingBean{
protectedfinal Log logger =
LogFactory.getLog(getClass());

//MENUS
private MenuesManager menuesManager;
public MenuesManager getMenuesManager() {
return menuesManager;
}
publicvoid setMenuesManager(MenuesManager menuesManager)
{
this.menuesManager = menuesManager;
}
// proceso
private ProcesoManager procesoManager;
public ProcesoManager getProcesoManager(){
return procesoManager;
}
publicvoid setProcesoManager(ProcesoManager
procesoManager) {
this.procesoManager = procesoManager;
}
public Log getLogger() {
return logger;
}
public asignarproceso() {
// TODO Auto-generated constructor stub
}
public ModelAndView AsigProceso(HttpServletRequest
request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = new HashMap();


// listamos el menu
List menu=menuesManager.getAsigMenuProc();

int codm=0;
int c=0;

p.put("menu", menu);
p.put("xcodm", codm);
p.put("z", c);

returnnew ModelAndView("AsigMenuProceso/AsigProceso",p);
}

public ModelAndView AsigProceso2(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = new HashMap();

String xcodm=request.getParameter("codm");

int codm=Integer.parseInt(xcodm);

String filtro=null;
int e=0;
if(request.getParameter("filtro") != null){

filtro=request.getParameter("filtro").toUpperCase();
e=1;
}
if(filtro== ""){
filtro=null;
e=0;
}
System.out.println(filtro);

//paginador
ArrayList lista2= new ArrayList();

String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;
int canti;
// esto +
if(filtro != null){
List
proceso=procesoManager.getAsigMenufiltro(codm, filtro);
canti=procesoManager.getcontfiltro(codm,
filtro);
p.put("proceso", proceso);
}

else{

List
proceso=procesoManager.getAsigMenu2(codm, ini);
canti=procesoManager.getpaginador(codm);
p.put("proceso", proceso);
}
if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
p.put("filtro", filtro);
p.put("e", e);
p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
//hasta aqui

int c=1;
List menu=menuesManager.getAsigMenuProc();
//List
proceso=procesoManager.getListaProceso(codm);

//p.put("proceso", proceso);
p.put("menu", menu);
p.put("xcodm", codm);
p.put("z", c);

returnnew ModelAndView("AsigMenuProceso/AsigProceso",p);
}

public ModelAndView selectionProceso(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = new HashMap();


String xcodm=request.getParameter("codm");
int codm=Integer.parseInt(xcodm);
List
selection=procesoManager.getListProceso2(codm);
System.out.println(selection);
p.put("xcodm", codm);
p.put("select", selection);

returnnew ModelAndView("AsigMenuProceso/ok1",p);
}

public ModelAndView selectionProceso2(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = new HashMap();

String xcodm=request.getParameter("codm");
String xcodp=request.getParameter("codp");
int codm=Integer.parseInt(xcodm);
int codp=Integer.parseInt(xcodp);

procesoManager.insertmepro(codp, codm);

List menu=menuesManager.getAsigMenuProc();
List proceso=procesoManager.getListaProceso(codm);

int c=1;

p.put("proceso", proceso);
p.put("menu", menu);
p.put("xcodm", codm);
p.put("z", c);

returnnew
ModelAndView("AsigMenuProceso/AsigProceso",p);
}
// eliminamos procesos de la tabla mepro

public ModelAndView EliminarProceso(HttpServletRequest


request,HttpServletResponse response)
throws Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");

Map p = new HashMap();

String xcodm=request.getParameter("codm");
String xcodp=request.getParameter("codp");
int codm=Integer.parseInt(xcodm);
int codp=Integer.parseInt(xcodp);
System.out.println(codm+" "+codp);

procesoManager.deleteProceso(codp, codm);

List menu=menuesManager.getAsigMenuProc();
List proceso=procesoManager.getListaProceso(codm);

int c=1;

p.put("proceso", proceso);
p.put("menu", menu);
p.put("xcodm", codm);
p.put("z", c);

returnnew
ModelAndView("AsigMenuProceso/AsigProceso",p);

}
publicvoid afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub

}
}

package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;
public class clientes extends MultiActionController
implements InitializingBean{

protected final Log logger =


LogFactory.getLog(getClass());
// usuario
private ClientesManager clientesManager;

public ClientesManager getClientesManager() {


return clientesManager;
}

public void setClientesManager(ClientesManager


clientesManager) {
this.clientesManager = clientesManager;
}
private ServletFileUpload servletFileUpload;

public void setServletFileUpload(ServletFileUpload


servletFileUpload) {
this.servletFileUpload = servletFileUpload;
}

public Log getLogger() {


return logger;
}

public clientes() {
// TODO Auto-generated constructor stub
}
public ModelAndView Cliente(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);
System.out.println("Ingresando al metodo de java
Cliente");
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();


150 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1501

// paginadores y filtros
String filt = null;
filt = request.getParameter("buscar");
String estado =request.getParameter("radio");
if(estado == null){
estado = "1";
}
System.out.println("estado = "+estado);
ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

System.out.println(filt);
int canti;
List clientesDat=null;

if(filt!=null){
filt=filt.toUpperCase();
}

if(filt != null){
System.out.println("Tiene filtros y se
realizan las consultas");

clientesDat=clientesManager.getFiltros(filt,estado);
canti =
clientesManager.getFiltcont(filt,estado);
p.put("clientesDatos", clientesDat);
}else{
clientesDat =
clientesManager.getListaClientes(ini);
canti = clientesManager.getContador();
p.put("clientesDatos", clientesDat);
}

if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

return new ModelAndView("Clientes/ListarClientes",p);


}
public ModelAndView AddCliente(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

return new ModelAndView("Clientes/AddCliente",p);


}
public ModelAndView AddCliente2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("ingresando al metodo de java
AddClientes2");
HttpSession session=request.getSession(true);
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodcli=null;
String znombre=null;
String zap=null;
String zam=null;
String foto=null;

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if
(item.getFieldName().equals("xcodcli"))
{ zcodcli=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xnombre")){
znombre=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xap"))
{ zap=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xam"))
{ zam=item.getString().toUpperCase(); }
}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
foto=zcodcli+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + foto);
item.write(zfoto);
}
}

System.out.println(foto);
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui


System.out.println(zcodcli+" "+znombre+" "+zap+"
"+zam+" "+foto);

clientesManager.insertCliente(zcodcli, znombre,
zap, zam,foto);

return Cliente(request,response);
}
public ModelAndView ModCliente(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String xci=request.getParameter("cedula");

Map p = new HashMap();

List clientesDat = clientesManager.getListar(xci);


System.out.println(clientesDat);

p.put("clientesDatos", clientesDat);
System.out.println("retornar del metodo de java
ModUsuario");
return new ModelAndView("Clientes/ModCliente",p);
}
public ModelAndView ModClientes2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java ModUsuario2");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodcli=null;
String znombre=null;
String zap=null;
String zam=null;
String foto=null;

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if
(item.getFieldName().equals("xcodusu")) {
zcodcli=item.getString(); }
if
(item.getFieldName().equals("xnombre")){
znombre=item.getString(); }
if (item.getFieldName().equals("xap"))
{ zap=item.getString(); }
if (item.getFieldName().equals("xam"))
{ zam=item.getString(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
foto=xfoto+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + foto);
item.write(zfoto);
}
}

System.out.println(foto);

}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui


System.out.println(zcodcli+" "+znombre+" "+zap+"
"+zam+" "+foto);

clientesManager.updateClientes(zcodcli, znombre,
zap, zam, foto);

// paginadores y filtros

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List clientesDat =
clientesManager.getListaClientes(ini);
canti = clientesManager.getContador();
p.put("clientesDatos", clientesDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui
p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

p.put("usuariosDatos", clientesDat);

return new ModelAndView("Clientes/ListarClientes",p);


}
public ModelAndView ElimClientes(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java ElimUsuario");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String xcodcli=request.getParameter("cedula");

Map p = new HashMap();

int r=clientesManager.deleteCliente(xcodcli);

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;
List clientesDat =
clientesManager.getListaClientes(ini);
canti = clientesManager.getContador();
p.put("clientesDatos", clientesDat);

if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

p.put("clientesDatos", clientesDat);

return new ModelAndView("Clientes/ListarClientes",p);


}

public ModelAndView VerUsuario(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("hola metodo VerUsuario de la
clase Usuario");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
// recupera el ci
160 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1601

String xcodcli=request.getParameter("cedula");
Map p = new HashMap();

List
verusu=clientesManager.getListaVerCliente(xcodcli);
System.out.println(verusu);
p.put("datos", verusu);

return new ModelAndView("Clientes/VerCliente",p);


}
public ModelAndView altasYBajas(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);
System.out.println("Ingresando a Altas y Bajas de
Usuarios");
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

String estado = "1";


estado = request.getParameter("radio");

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=0;
ini = (num2*5)-5;

int canti;
List clientesDat;
clientesDat =
clientesManager.getListaClientesDeAltasYBajas(ini);
System.out.println(clientesDat);
canti = clientesManager.getContador();
System.out.println("canti = "+canti);
p.put("ClientesDatos", clientesDat);
if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

p.put("estado",estado);

System.out.println("retornar de metodo de Altas y


bajas de usuarios");
return new ModelAndView("Clientes/CliAltasYBajas",p);
}
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
}

}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class compras extends MultiActionController implements


InitializingBean {
protected final Log logger =
LogFactory.getLog(getClass());
// vehiculos
private ComprasManager comprasManager;

public ComprasManager getComprasManager() {


return comprasManager;
}

public void setComprasManager(ComprasManager


comprasManager) {
this.comprasManager = comprasManager;
}

private VehiculosManager vehiculosManager;

public VehiculosManager getMalmacenManager() {


return vehiculosManager;
}

public void setVehiculosManager(VehiculosManager


vehiculosManager) {
this.vehiculosManager = vehiculosManager;
}

private UsuariosManager usuariosManager;

public UsuariosManager getUsuariosManager() {


return usuariosManager;
}

public void setUsuariosManager(UsuariosManager


usuariosManager) {
this.usuariosManager = usuariosManager;
}

// Agencias
private AgenciasManager agenciasManager;

public AgenciasManager getAgenciasManager() {


return agenciasManager;
}

public void setAgenciasManager(AgenciasManager


agenciasManager) {
this.agenciasManager = agenciasManager;
}

public Log getLogger() {


return logger;
}

public ModelAndView listarCompras(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo de java listarCompras");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
System.out.println("codusu = "+codusu);
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");

// aki llamamos del tpl compras


String finicio = request.getParameter("finicio");
String ffin = request.getParameter("ffin");
String radio = request.getParameter("radio");

System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}

Date efechaini = null;


Date efechafin = null;
// para ver que en uno de estos no agarre nulo
if (finicio != null) {
String Fechaini = finicio.substring(3, 5) +
"/"
+ finicio.substring(0, 2) + "/" +
finicio.substring(6, 10);
String Fechafin = ffin.substring(3, 5) + "/" +
ffin.substring(0, 2)
+ "/" + ffin.substring(6, 10);
DateFormat dateformat = new
SimpleDateFormat("MM/dd/yyyy");
efechaini = dateformat.parse(Fechaini);

efechafin = dateformat.parse(Fechafin);
System.out.println("Fechaini = "+Fechaini+"
Fechafin = "+Fechafin);
} else {
efechaini = d;
efechafin = d;
String fechax = fordat.format(d);
finicio = fordat.format(d);
ffin = fordat.format(d);
}

System.out.println(efechaini + " " + efechafin + "


" + radio + " "
+ estado);
ArrayList lista2 = new ArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List comprasDat =
agenciasManager.getListFechaCompras(efechaini,efechafin,
estado, ini);
cant = agenciasManager.countCompra(efechaini,
efechafin, estado);
System.out.println(cant);
System.out.println(comprasDat);
p.put("comprasDatos", comprasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

List agenciasDat =
agenciasManager.getListaDeAgencias();
System.out.println("despues lista de usuarios");

List usuarios = usuariosManager.getListUsuarios();


System.out.println("hola fin de lista de
usuarios");
System.out.println(usuarios);

p.put("detalleDatos", agenciasDat);

p.put("usuarios", usuarios);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

return new
ModelAndView("Compras/GestionCompras",p);
}
public ModelAndView registroDeCompras(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo java de
registrar
compra");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
String
zcodusu=(String)session.getAttribute("xcodusu");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
String codtrans =
String.valueOf(comprasManager.getCodTrans());
System.out.println("El codigo de transaccion es
"+codtrans);
p.put("codtrans",codtrans);
p.put("codusu",zcodusu);
System.out.println("Retornado modelAndView de
registroDeCompras");
return new
ModelAndView("Compras/registroDeCompras",p);
}
public ModelAndView
registrandoCompras(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("Se esta registrando la
compra");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");

// aki llamamos del tpl compras


String finicio = fordat.format(d);
String ffin = fordat.format(d);
String radio = request.getParameter("radio");

System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}else{
radio="1";
}

Date efechaini = null;


Date efechafin = null;

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar

String zcodprov = "";


String znombre = "";
String zempresa = "";
String zdireccion ="";
String ztelefono ="";

String foto ="";


String zcodcomp="";
String zmarca="";
String zmodelo="";
String zplaca="";
String zcosto="";
String zcolor="";
String znropuertas="";
String znrochasis="";
String zobs = "";
String ztipo="";
String zcodag="";
String zcant = "";
String zimporte = "";
// Parse the request
try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if (item.getFieldName().equals("xcodprov")) {
zcodprov=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString(); }// con el toupper conviertes
a
mayusculas
if
(item.getFieldName().equals("xempresa"))
{ zempresa=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelefono"))
{ ztelefono=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xcodag"))
{ zcodag=item.getString().toUpperCase();
}

if (item.getFieldName().equals("xcodcomp")) {
zcodcomp=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xmarca")) {
170 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1701

zmarca=item.getString(); }// con el toupper conviertes a


mayusculas
if
(item.getFieldName().equals("xmodelo"))
{ zmodelo=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xplaca")) {
zplaca=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcosto")) {
zcosto=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcolor")) {
zcolor=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnropuertas")) {
znropuertas=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnrochasis")) {
znrochasis=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xobs"))
{ zobs=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtipo")) {
ztipo=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcant")) {
zcant=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("ximporte")) {
zimporte=item.getString().toUpperCase(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

int codmarc = 0,codmodel=0,nrochasis =


0,costo=0,nropuertas=0,codtipo=0;
try{
codmarc = Integer.parseInt(zmarca);
codmodel = Integer.parseInt(zmodelo);
nrochasis = Integer.parseInt(znrochasis);
costo = Integer.parseInt(zcosto);
nropuertas = Integer.parseInt(znropuertas);
codtipo = Integer.parseInt(ztipo);
}catch(NumberFormatException ex){
ex.printStackTrace();
}
System.out.println(codmarc+"-"+codmodel+"-
"+zcolor+"-"+nrochasis+"-"+costo+"-"+nropuertas+"-"+zobs+"-
"+estado+"-"+codtipo);//la fecha antes de tipo.
// para ver que en uno de estos no agarre nulo
System.out.println("codcomp = "+zcodcomp+"-
codusu="+codusu+"-codprov ="+zcodprov+"-codag"+zcodag);
int zcodmov =
comprasManager.comprarVehiculo(codmarc,codmodel,zcolor,nrocha
sis,costo,nropuertas,zobs,estado,codtipo);
System.out.println("codmov = "+zcodmov);
int xcodusu =
comprasManager.getCodUsuario(zlogin,zclave);
comprasManager.registrarCompra(zcodcomp,String.valueOf(x
codusu),zcodprov,zcodmov,zcodag);//coddc, estado no se anotan

//comprasManager.setDetaCompra(zcodcomp,xcodusu,zcodprov
,zcodmov,zcant,zimporte,zcosto);Fue reemplazadodo por
Triggers
//---------------------------------
System.out.println(finicio + " " + ffin + " " +
radio + " "
+ estado);
ArrayList lista2 = new ArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List comprasDat =
agenciasManager.getListFechaCompras(new Date(),new Date(),
estado, ini);
cant = agenciasManager.countCompra(new Date(),new
Date(), estado);
System.out.println(cant);
System.out.println(comprasDat);
p.put("comprasDatos", comprasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

// elimina sesion lista de materiales

List agenciasDat =
agenciasManager.getListaDeAgencias();
System.out.println("despues lista de usuarios");

List usuarios = usuariosManager.getListUsuarios();


System.out.println("hola fin de lista de
usuarios");
System.out.println(usuarios);

p.put("detalleDatos", agenciasDat);

p.put("usuarios", usuarios);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

return new
ModelAndView("Compras/GestionCompras",p);
}
public ModelAndView verDetaVehiculo(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de
verDetaVehiculo");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codmov=request.getParameter("xcodmov");
String codcomp = request.getParameter("xcodcomp");
Map p = new HashMap();
System.out.println("prueba detalle de compras de
autos "+codmov);
List vehiculos =
vehiculosManager.getDetalleDeCompraAutos(codmov);
System.out.println("continuando con comprasDat");

p.put("autos", vehiculos);

System.out.println("Retornado modelAndView de
verMaterial");
return new ModelAndView("Compras/detaAuto",p);
}
public ModelAndView verEncargado(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verEncargado");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codusu = request.getParameter("xcodusu");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
encargado "+codusu);
List encargado =
vehiculosManager.getEncargadoDeCompra(codusu,codcomp);
System.out.println("continuando con comprasDat");

p.put("encargado", encargado);

System.out.println("Retornado modelAndView de
verUsuario");
return new ModelAndView("Compras/detaUsuario",p);
}
public ModelAndView verProveedor(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verProveedor");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codprov = request.getParameter("xcodprov");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
proveedor "+codprov);
List proveedor =
vehiculosManager.getProveedorDeCompra(codprov,codcomp);
System.out.println("continuando con comprasDat");

p.put("proveedor", proveedor);

System.out.println("Retornado modelAndView de
verProveedor");
return new ModelAndView("Compras/detaProveedor",p);
}
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub

}
}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class marcas extends MultiActionController implements


InitializingBean {
protected final Log logger =
LogFactory.getLog(getClass());

public MarcasManager marcasManager;


public MarcasManager getMarcasManager() {
return marcasManager;
}

public void setMarcasManager(MarcasManager


marcasManager) {
this.marcasManager = marcasManager;
}
public Log getLogger() {
return logger;
}

public ModelAndView listarMarcas(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo de java listarVentas");

HttpSession session = request.getSession(true);


String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
System.out.println("codusu = "+codusu);
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

ArrayList lista2 = new ArrayList();


String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List marcasDat = marcasManager.getListMarcas(ini);


cant = marcasManager.countMarcas();
System.out.println(cant);
System.out.println(marcasDat);
p.put("marcasDatos", marcasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

return new ModelAndView("Marcas/ListarMarcas",p);


}
/*
public ModelAndView registrarVentas(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo java de
registrar
compra");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
String
zcodusu=(String)session.getAttribute("xcodusu");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
String codtrans =
String.valueOf(ventasManager.getCodTrans());
System.out.println("El codigo de transaccion es
"+codtrans);
List clientes = ventasManager.getClientes();
p.put("codtrans",codtrans);
p.put("codusu",zcodusu);
p.put("clientes",clientes);
System.out.println("Retornado modelAndView de
registroDeVentas");
return new
ModelAndView("Ventas/RegistroDeVentas",p);
}
/*
public ModelAndView
registrandoCompras(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("Se esta registrando la
compra");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");

// aki llamamos del tpl compras


String finicio = fordat.format(d);

String ffin = fordat.format(d);


String radio = request.getParameter("radio");

System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}
180 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1801

Date efechaini = null;


Date efechafin = null;

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la


perición
// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar

String zcodprov = "";


String znombre = "";
String zempresa = "";
String zdireccion ="";
String ztelefono ="";

String foto ="";


String zcodcomp="";
String zmarca="";
String zmodelo="";
String zplaca="";
String zcosto="";
String zcolor="";
String znropuertas="";
String znrochasis="";
String zobs = "";
String ztipo="";
String zcodag="";

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if (item.getFieldName().equals("xcodprov")) {
zcodprov=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xempresa")){
zempresa=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelefono"))
{ ztelefono=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xcodag"))
{ zcodag=item.getString().toUpperCase();
}

if (item.getFieldName().equals("xcodcomp")) {
zcodcomp=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xmarca"))
{ zmarca=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xmodelo")){
zmodelo=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xplaca")) {
zplaca=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcosto")) {
zcosto=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcolor")) {
zcolor=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnropuertas")) {
znropuertas=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnrochasis")) {
znrochasis=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xobs"))
{ zobs=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtipo")) {
ztipo=item.getString().toUpperCase(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui


int codmarc = 0,codmodel=0,nrochasis =
0,costo=0,nropuertas=0,codtipo=0;
try{
codmarc = Integer.parseInt(zmarca);
codmodel = Integer.parseInt(zmodelo);
nrochasis = Integer.parseInt(znrochasis);
costo = Integer.parseInt(zcosto);
nropuertas = Integer.parseInt(znropuertas);
codtipo = Integer.parseInt(ztipo);
}catch(NumberFormatException ex){
ex.printStackTrace();
}
System.out.println(codmarc+"-"+codmodel+"-
"+zcolor+"-"+nrochasis+"-"+costo+"-"+nropuertas+"-"+zobs+"-
"+estado+"-"+codtipo);//la fecha antes de tipo.
// para ver que en uno de estos no agarre nulo
System.out.println("codcomp = "+zcodcomp+"-
codusu="+codusu+"-codprov ="+zcodprov+"-codag"+zcodag);
int zcodmov =
comprasManager.comprarVehiculo(codmarc,codmodel,zcolor,nrocha
sis,costo,nropuertas,zobs,estado,codtipo);
System.out.println("codmov = "+zcodmov);
int xcodusu =
comprasManager.getCodUsuario(zlogin,zclave);

comprasManager.registrarCompra(zcodcomp,String.valueOf(x
codusu),zcodprov,zcodmov,zcodag);//coddc, estado no se anotan

//---------------------------------
System.out.println(efechaini + " " + efechafin + "
" + radio + " "
+ estado);
ArrayList lista2 = new ArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";


List comprasDat =
agenciasManager.getListFechaCompras(efechaini,efechafin,
estado, ini);
cant = agenciasManager.countCompra(efechaini,
efechafin, estado);
System.out.println(cant);
System.out.println(comprasDat);
p.put("comprasDatos", comprasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

// elimina sesion lista de materiales

request.getSession().removeAttribute("s_materiales");

request.getSession().removeAttribute("s_cantidades");

List agenciasDat =
agenciasManager.getListaDeAgencias(xcodcomp);
System.out.println("despues lista de usuarios");

List usuarios = usuariosManager.getListUsuarios();


System.out.println("hola fin de lista de
usuarios");
System.out.println(usuarios);
p.put("detalleDatos", agenciasDat);

p.put("usuarios", usuarios);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

return new
ModelAndView("Compras/GestionCompras",p);
}
public ModelAndView verDetaVehiculo(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de
verDetaVehiculo");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codmov=request.getParameter("xcodmov");
String codcomp = request.getParameter("xcodcomp");
Map p = new HashMap();
System.out.println("prueba detalle de compras de
autos "+codmov);
List vehiculos =
vehiculosManager.getDetalleDeCompraAutos(codmov);
System.out.println("continuando con comprasDat");

p.put("autos", vehiculos);

System.out.println("Retornado modelAndView de
verMaterial");
return new ModelAndView("Compras/detaAuto",p);
}
public ModelAndView verEncargado(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verEncargado");
HttpSession session=request.getSession(true);
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codusu = request.getParameter("xcodusu");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
encargado "+codusu);
List encargado =
vehiculosManager.getEncargadoDeCompra(codusu,codcomp);
System.out.println("continuando con comprasDat");

p.put("encargado", encargado);

System.out.println("Retornado modelAndView de
verUsuario");
return new ModelAndView("Compras/detaUsuario",p);
}
public ModelAndView verProveedor(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verProveedor");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codprov = request.getParameter("xcodprov");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
proveedor "+codprov);
List proveedor =
vehiculosManager.getProveedorDeCompra(codprov,codcomp);
System.out.println("continuando con comprasDat");
p.put("proveedor", proveedor);

System.out.println("Retornado modelAndView de
verProveedor");
return new ModelAndView("Compras/detaProveedor",p);
}
*/
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub

}
}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class menu extends MultiActionController implements


InitializingBean{

protected final Log logger =


LogFactory.getLog(getClass());

private MenuesManager menuesManager;


public MenuesManager getMenuesManager() {
return menuesManager;
}
public void setMenuesManager(MenuesManager
menuesManager) {
this.menuesManager = menuesManager;
}
public Log getLogger() {
return logger;
}

public menu() {
// TODO Auto-generated constructor stub
}

public ModelAndView Menu(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();


// paginadores y filtros para menu
String filt=request.getParameter("filtro");
String estado=request.getParameter("radio");

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

System.out.println(filt);
int canti;
List menu=null;
if(filt!=null){
filt=filt.toUpperCase();
}
if(filt != null){
menu= menuesManager.getFiltros(filt,estado);
canti =
menuesManager.getFiltcont(filt,estado);
p.put("menu", menu);
}
else{
menu = menuesManager.getListMenue(ini);
canti = menuesManager.getcont();
p.put("menu", menu);
}

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
190 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
1901

}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

return new ModelAndView("Menu/Menu",p);


}

public ModelAndView AddMenu(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();


return new ModelAndView("Menu/AddMenu",p);
}

public ModelAndView AddMenu2(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
// subir foto desde aqui
ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar

String znombre=null;
String zayuda=null;
String logo=null;
String xfoto=null;
// Parse the request
try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();

if(item.isFormField()){
if
(item.getFieldName().equals("nombre")) {
znombre=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("ayuda")) {
zayuda=item.getString().toUpperCase(); }

}else{
File file =new File(item.getName());
xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//logo=+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);

/*
File file = new
File(ctx.getRealPath("/")+"uploads/" + item.getName());
item.write(file);
foto=item.getName();

System.out.println(foto);
*/
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

int contador=menuesManager.getcont();
System.out.println(contador);
int codm=contador+1;
System.out.println(codm);
System.out.println(znombre);
System.out.println(zayuda);
System.out.println(xfoto);
menuesManager.insertmenu(codm, znombre, zayuda,
xfoto);

//aqui inicia paginadores para adicionar


ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List menu=menuesManager.getListMenue(ini);
canti = menuesManager.getcont();

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
// aqui termina paginador para adidionar

p.put("menu", menu);
return new ModelAndView("Menu/Menu",p);
}

public ModelAndView EliminarMenu(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String codm=request.getParameter("codm");
int xcodm=Integer.parseInt(codm);
Map p = new HashMap();

menuesManager.deletemenu(xcodm);

//aqui inicia paginadores para elim,inar


ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;
List menu=menuesManager.getListMenue(ini);
canti = menuesManager.getcont();

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
// aqui termina paginador para adidionar

p.put("menu", menu);

return new ModelAndView("Menu/Menu",p);


}

public ModelAndView ModMenu(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String codm=request.getParameter("codm");
int xcodm=Integer.parseInt(codm);
Map p = new HashMap();

List menu=menuesManager.getListar(xcodm);
p.put("menu", menu);

return new ModelAndView("Menu/ModMenu",p);


}

public ModelAndView ModMenu2(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
// subir foto desde aqui
ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodm=null;
String znombre=null;
String zayuda=null;
String logo=null;
String xfoto=null;
int codm=0;
// Parse the request
try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();

if(item.isFormField()){
if (item.getFieldName().equals("codm")) {
zcodm=item.getString();

codm=Integer.parseInt(zcodm);}
if
(item.getFieldName().equals("nombre")) {
znombre=item.getString(); }
if
(item.getFieldName().equals("ayuda")) {
zayuda=item.getString(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//logo=+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);
/*
File file = new
File(ctx.getRealPath("/")+"uploads/" + item.getName());
item.write(file);
foto=item.getName();

System.out.println(foto);
*/
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui de subir

menuesManager.updatemenu(codm, znombre, zayuda,


xfoto);

//aqui inicia paginadores para adicionar


ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List menu=menuesManager.getListMenue(ini);
canti = menuesManager.getcont();

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
// aqui termina paginador para adidionar

p.put("menu", menu);

return new ModelAndView("Menu/Menu",p);


}
public ModelAndView VerMenu(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String codm=request.getParameter("codm");
int xcodm=Integer.parseInt(codm);
Map p = new HashMap();

List menu=menuesManager.getListar(xcodm);

p.put("menu", menu);

return new ModelAndView("Menu/VerMenu",p);


}
200 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2002

public void afterPropertiesSet() throws Exception {


// TODO Auto-generated method stub
}
}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class proveedores extends MultiActionController


implements InitializingBean{

protected final Log logger =


LogFactory.getLog(getClass());
// usuario
private ProveedoresManager proveedoresManager;

public ProveedoresManager getProveedoresManager() {


return proveedoresManager;
}
public void setProveedoresManager(ProveedoresManager
proveedoresManager) {
this.proveedoresManager = proveedoresManager;
}

//definicion de UPLOAD
private ServletFileUpload servletFileUpload;

public void setServletFileUpload(ServletFileUpload


servletFileUpload) {
this.servletFileUpload = servletFileUpload;
}

public Log getLogger() {


return logger;
}

public proveedores() {
// TODO Auto-generated constructor stub
}
public ModelAndView listarProveedores(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// paginadores y filtros
String filt = null;
filt = request.getParameter("buscar");
String estado =request.getParameter("radio");
if(estado == null){
estado = "1";
}
System.out.println("estado = "+estado);
ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

System.out.println(filt);
int canti;
List proveedoresDat=null;

if(filt!=null){
filt=filt.toUpperCase();
}

if(filt != null){

proveedoresDat=proveedoresManager.getFiltros(filt,estado);
canti =
proveedoresManager.getFiltcont(filt,estado);
p.put("proveedoresDatos", proveedoresDat);
}else{
proveedoresDat =
proveedoresManager.getListaProveedores(ini);
canti = proveedoresManager.getContador();
p.put("proveedoresDatos", proveedoresDat);
}

if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

//List datos=datosManager.getListDatos();
//List dat=proveedoresManager.getProvSinDatos();
//System.out.println(datos);
//System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
//p.put("usu", dat);
//p.put("datos", datos);

return new
ModelAndView("Proveedores/GestionProveedores",p);
}
public ModelAndView addProveedores(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

return new
ModelAndView("Proveedores/addProveedores",p);
}
public ModelAndView addProveedores2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java
addProveedores2");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodprov=null;
String znombre=null;
String zdireccion=null;
String ztelf=null;
String zempresa=null;

// Parse the request


try {
List items = upload.parseRequest(request);
Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){

if
(item.getFieldName().equals("xcodprov"))
{ zcodprov=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelf")) {
ztelf=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xempresa")) {
zempresa=item.getString().toUpperCase(); }

}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

System.out.println(zcodprov+" "+znombre+"
"+zempresa+" "+ztelf+" "+zdireccion);

proveedoresManager.insertProveedor(zcodprov,znombre,zemp
resa,zdireccion,ztelf);

// paginadores y filtros
ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List proveedoresDat =
proveedoresManager.getListaProveedores(ini);
canti = proveedoresManager.getContador();
p.put("proveedoresDatos", proveedoresDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

return new
ModelAndView("Proveedores/GestionProveedores",p);
}
public ModelAndView modProveedores(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java
modificarProveedor");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String xci=request.getParameter("cedula");

Map p = new HashMap();

List proveedoresDat =
proveedoresManager.getListar(xci);
System.out.println(proveedoresDat);

p.put("proveedoresDatos", proveedoresDat);
System.out.println("retornar del metodo de java
ModUsuario");
return new ModelAndView("Proveedores/modProveedores",p);
}
public ModelAndView modProveedores2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException
{ System.out.println("metodo de
java
modificarProveedores2");

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodprov=null;
String znombre=null;
String zdireccion=null;
String ztelf=null;
String zempresa=null;

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){

if
(item.getFieldName().equals("xcodprov"))
{ zcodprov=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelf")) {
ztelf=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xempresa")) {
zempresa=item.getString().toUpperCase(); }

}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

System.out.println(zcodprov+" "+znombre+"
"+zempresa+" "+ztelf+" "+zdireccion);

proveedoresManager.updateProveedor(zcodprov,znombre,zemp
resa,zdireccion,ztelf);

// paginadores y filtros

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;
210 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2102

int canti;

List proveedoresDat =
proveedoresManager.getListaProveedores(ini);
canti = proveedoresManager.getContador();
p.put("proveedoresDatos", proveedoresDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

return new
ModelAndView("Proveedores/GestionProveedores",p);
}

public ModelAndView deleteProveedores(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java
deleteProveedores");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String xcodprov=request.getParameter("cedula");

Map p = new HashMap();

proveedoresManager.deleteProveedor(xcodprov);
ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List proveedoresDat =
proveedoresManager.getListaProveedores(ini);
canti = proveedoresManager.getContador();
p.put("proveedoresDatos", proveedoresDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
return new
ModelAndView("Proveedores/GestionProveedores",p);
}
/*
public ModelAndView altasYBajas(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);
System.out.println("Ingresando a Altas y Bajas de
Usuarios");
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

String estado = "1";


estado = request.getParameter("radio");

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=0;
ini = (num2*5)-5;

int canti;
List<Usuarios> alumnosDat;
alumnosDat =
usuariosManager.getListaUsuariosDeAltasYBajas(ini);
System.out.println(alumnosDat);
canti = usuariosManager.getContador();
System.out.println("canti = "+canti);
p.put("usuariosDatos", alumnosDat);
if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);
p.put("estado",estado);

System.out.println("retornar de metodo de Altas y


bajas de usuarios");
return new ModelAndView("Usuarios/UsuAltasYBajas",p);
}
*/
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
}

package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class usuarios extends MultiActionController


implements InitializingBean{

protected final Log logger =


LogFactory.getLog(getClass());
// usuario
private UsuariosManager usuariosManager;
public UsuariosManager getUsuariosManager() {
return usuariosManager;
}
public void setUsuariosManager(UsuariosManager
usuariosManager) {
this.usuariosManager = usuariosManager;
}
//Datos
private DatosManager datosManager;
public DatosManager getDatosManager() {
return datosManager;
}
public void setDatosManager(DatosManager datosManager) {
this.datosManager = datosManager;
}

//definicion de UPLOAD
private ServletFileUpload servletFileUpload;

public void setServletFileUpload(ServletFileUpload


servletFileUpload) {
this.servletFileUpload = servletFileUpload;
}

public Log getLogger() {


return logger;
}

public usuarios() {
// TODO Auto-generated constructor stub
}
public ModelAndView Usuario(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

// paginadores y filtros
String filt = null;
filt = request.getParameter("buscar");
String estado =request.getParameter("radio");
if(estado == null){
estado = "1";
}
System.out.println("estado = "+estado);
ArrayList lista2= new ArrayList();
String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

System.out.println(filt);
int canti;
List alumnosDat=null;

if(filt!=null){
filt=filt.toUpperCase();
}

if(filt != null){

alumnosDat=usuariosManager.getFiltros(filt,estado);
canti =
usuariosManager.getFiltcont(filt,estado);
p.put("usuariosDatos", alumnosDat);
}else{
alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);
}

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);

return new ModelAndView("Usuarios/Usuario",p);


}
public ModelAndView AddUsuario(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

Map p = new HashMap();

return new ModelAndView("Usuarios/AddUsuario",p);


}
public ModelAndView AddUsuario2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java AddUsuario2");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodusu=null;
String znombre=null;
String zap=null;
String zam=null;
String foto=null;

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if
(item.getFieldName().equals("xcodusu")) {
zcodusu=item.getString(); }// con el toupper conviertes a
mayusculas
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString().toUpperCase();
}
if (item.getFieldName().equals("xap"))
{ zap=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xam"))
{ zam=item.getString().toUpperCase(); }
}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
foto=zcodusu+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + foto);
item.write(zfoto);
}
}

System.out.println(foto);
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

System.out.println(zcodusu+" "+znombre+" "+zap+"


"+zam+" "+foto);
220 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2202

usuariosManager.insertUsuario(zcodusu, znombre,
zap, zam,foto);

// paginadores y filtros

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui
List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);

return new ModelAndView("Usuarios/Usuario",p);


}
public ModelAndView ModUsuario(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String xci=request.getParameter("cedula");

Map p = new HashMap();

List usuariosDat = usuariosManager.getListar(xci);


System.out.println(usuariosDat);

p.put("usuariosDatos", usuariosDat);
System.out.println("retornar del metodo de java
ModUsuario");
return new ModelAndView("Usuarios/ModUsuario",p);
}
public ModelAndView ModUsuario2(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java ModUsuario2");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la perición


// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar
String zcodusu=null;
String znombre=null;
String zap=null;
String zam=null;
String foto=null;

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if
(item.getFieldName().equals("xcodusu")) {
zcodusu=item.getString(); }
if
(item.getFieldName().equals("xnombre")){
znombre=item.getString(); }
if (item.getFieldName().equals("xap"))
{ zap=item.getString(); }
if (item.getFieldName().equals("xam"))
{ zam=item.getString(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
foto=xfoto+"."+extension;
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + foto);
item.write(zfoto);
}
}

System.out.println(foto);

}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
//termina proceso hasta aqui

System.out.println(zcodusu+" "+znombre+" "+zap+"


"+zam+" "+foto);

usuariosManager.updateUsuarios(zcodusu, znombre,
zap, zam, foto);

// paginadores y filtros

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui
List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);
p.put("usuariosDatos", alumnosDat);

return new ModelAndView("Usuarios/Usuario",p);


}
public ModelAndView ElimUsuario(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java ElimUsuario");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}

String xcodusu=request.getParameter("cedula");

Map p = new HashMap();

int r=usuariosManager.deleteUsuari(xcodusu);

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);

if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);
p.put("usuariosDatos", alumnosDat);

return new ModelAndView("Usuarios/Usuario",p);


}
public ModelAndView AddClaveUsu(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java AddClaveUsu");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String xcodusu=request.getParameter("cedula");
Map p = new HashMap();

p.put("codusu", xcodusu);

return new ModelAndView("Usuarios/AddClave",p);


}

public ModelAndView AddClaveUsu2(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("metodo de java AddClaveUsu2");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String clave=null;
String xcodusu=request.getParameter("xcodusu");
String xlogin=request.getParameter("xlogin");
String xclave=request.getParameter("xclave");
String rclave=request.getParameter("rclave");
if(xclave.equals(rclave)){
clave=xclave;
}
System.out.println(xcodusu+" "+ xlogin+" "+clave);
Map p = new HashMap();
// insertar datos a la tabla datos
datosManager.insertDatos(xcodusu, xlogin, clave);

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);

if((canti%5)==0){
num=canti/5;
}
else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);
p.put("usuariosDatos", alumnosDat);

return new ModelAndView("Usuarios/Usuario",p);


}
public ModelAndView ModClaveUsu(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String xcodusu=request.getParameter("cedula");
Map p = new HashMap();
List clave=datosManager.getList(xcodusu);

p.put("clave", clave);
System.out.println("retornando del metodo
ModClaveUsu");
return new ModelAndView("Usuarios/ModClave",p);
}

public ModelAndView ModClaveUsu2(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String clave=null;
String xcodusu=request.getParameter("codusu");
String xlogin=request.getParameter("xlogin");
String xclave=request.getParameter("xclave");
String rclave=request.getParameter("rclave");
if(xclave.equals(rclave)){
clave=xclave;
}
System.out.println(xcodusu+" "+ xlogin+" "+clave);
Map p = new HashMap();
// Modificar datos a la tabla datos
230 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2302

datosManager.updateDatos(xcodusu, xlogin, clave);

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=(num2*5)-5;

int canti;

List alumnosDat =
usuariosManager.getListaUsuarios(ini);
canti = usuariosManager.getContador();
p.put("usuariosDatos", alumnosDat);

if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++)
{ Map p2=new
HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);

p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat); p.put("datos",
datos); p.put("usuariosDatos",
alumnosDat);

return new ModelAndView("Usuarios/Usuario",p);


}

public ModelAndView VerUsuario(HttpServletRequest


request,HttpServletResponse response) throws
Exception,ServletException {
System.out.println("hola metodo VerUsuario de la
clase Usuario");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
// recupera el ci
String xcodusu=request.getParameter("cedula");
Map p = new HashMap();

List
verusu=usuariosManager.getListaVerUsuario(xcodusu);
System.out.println(verusu);
p.put("datos", verusu);

return new ModelAndView("Usuarios/VerUsuario",p);


}
public ModelAndView altasYBajas(HttpServletRequest
request,HttpServletResponse response) throws
Exception,ServletException {

HttpSession session=request.getSession(true);
System.out.println("Ingresando a Altas y Bajas de
Usuarios");
String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();

String estado = "1";


estado = request.getParameter("radio");

ArrayList lista2= new ArrayList();


String cont="";
int cant=0;
int num=0;
int num2=0;

if(request.getParameter("num2")==null){
num2=1;
}else{

num2=Integer.parseInt(request.getParameter("num2"));
}
int ini=0;
ini = (num2*5)-5;

int canti;
List<Usuarios> alumnosDat;
alumnosDat =
usuariosManager.getListaUsuariosDeAltasYBajas(ini);
System.out.println(alumnosDat);
canti = usuariosManager.getContador();
System.out.println("canti = "+canti);
p.put("usuariosDatos", alumnosDat);
if((canti%5)==0){
num=canti/5;
}else{
num=(canti/5)+1;
}
for(int i=1;i<=num;i++){
Map p2=new HashMap();
p2.put("cont",i);
lista2.add(p2);
}
//hasta aqui

List datos=datosManager.getListDatos();
List dat=usuariosManager.getUsuSinDatos();
System.out.println(datos);
System.out.println(dat);
p.put("con", canti);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);
p.put("usu", dat);
p.put("datos", datos);
p.put("estado",estado);

System.out.println("retornar de metodo de Altas y


bajas de usuarios");
return new ModelAndView("Usuarios/UsuAltasYBajas",p);
}
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
}

package controller;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import java.util.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;
import org.apache.commons.logging.*; import
org.springframework.web.servlet.*; import
org.springframework.web.servlet.mvc.*;
import model.manager.dao.*;
import model.domain.*;

public class validacion extends MultiActionController


implements
InitializingBean {

protected final Log logger =


LogFactory.getLog(getClass());

private DatosManager datosManager;

public DatosManager getDatosManager() {


return datosManager;
}

public void setDatosManager(DatosManager datosManager) {


this.datosManager = datosManager;
}

private UsuariosManager usuariosManager;

public UsuariosManager getUsuariosManager() {


return usuariosManager;
}

public void setUsuariosManager(UsuariosManager


usuariosManager) {
this.usuariosManager = usuariosManager;
}

private ProcesoManager procesoManager;

public ProcesoManager getProcesoManager() {


return procesoManager;
}

public void setProcesoManager(ProcesoManager


procesoManager) {
this.procesoManager = procesoManager;
}

private MenuesManager menuesManager;

public MenuesManager getMenuesManager() {


return menuesManager;
}

public void setMenuesManager(MenuesManager


menuesManager) {
this.menuesManager = menuesManager;
}

public Log getLogger() {


return logger;
}

public validacion() {
// TODO Auto-generated constructor stub
}

public ModelAndView Acceso(HttpServletRequest request,


HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("hola metodo
acceso"); Map p = new HashMap();

return new ModelAndView("Principal/inicio", null);


}

public ModelAndView Valida(HttpServletRequest request,


HttpServletResponse response) throws
Exception, ServletException {
HttpSession session = request.getSession(true);
System.out.println("hola valida");
String zlogin = request.getParameter("xlogin");
String zclave = request.getParameter("xclave");

int cant = datosManager.getDatos(zlogin, zclave);

if (cant == 1) {
// aqui sacas una lista de los login y clave
para la validacion
// luego cortamos para que
// podamos ver la sesion del usuario conectado
con nombre completo
List<Usuarios> datos =
usuariosManager.getnombre(zlogin, zclave);
System.out.println(datos);
String principal[] = datos.toString().split("
");
String znombre[] = principal[0].split("=");
String zci[] = principal[1].split("=");
String zap[] = principal[2].split("=");
String zam[] = principal[3].split("=");
System.out.println(zci[1] + " " + znombre[1] +
" " + zap[1] + " "
+ zam[1]);

String xci = zci[1].substring(0,


zci[1].length() - 1);
String xnombre = znombre[1].substring(0,
znombre[1].length() - 1);
String xap = zap[1].substring(0,
zap[1].length() - 1);
String xam = zam[1].substring(0,
zam[1].length() - 2);

System.out.println(xci);

//session.setAttribute("xcodusu", xci);
// /SESIONAMOS EL CI DEL USUARIO
// String ci=String.valueOf(xci);
// request.getSession().setAttribute("xxci",
ci);

session.setAttribute("xnombre", xnombre);
session.setAttribute("xap", xap);
session.setAttribute("xam", xam);

session.setAttribute("xlogin", zlogin);
session.setAttribute("xclave", zclave);

String us = (String)
session.getAttribute("xlogin");
String cl = (String)
session.getAttribute("xclave");
if (us == null) {
response.sendRedirect("index.html");
}
response.sendRedirect("menu.html");
}

String cont = "";


if (cant != 1) {
cont = "<script type=text/javascript>var
aler='Error Usuario no valido!';alert(aler);</script>";
}
Map p = new HashMap();
p.put("xfecha", new Date());

p.put("conta", cont);

return new ModelAndView("Principal/inicio", p);


}

public ModelAndView Menus(HttpServletRequest request,


HttpServletResponse response) throws
Exception, ServletException {

HttpSession session = request.getSession(true);

String zlogin = (String)


session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");
String codusu = (String)
session.getAttribute("xcodusu");
String znombre = (String)
session.getAttribute("xnombre");
String zap = (String) session.getAttribute("xap");
String zam = (String) session.getAttribute("xam");

if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();


// Lista para la sesion de ap am nombre es decir
para validar
List xmenu = menuesManager.getListaMenues2(zlogin);
List xproc = procesoManager.getProcesos();
for(Object ob : xproc)
{ System.out.println("procesos =
"+ob);
}

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");
String fechax = fordat.format(d);

p.put("fecha", fechax);
p.put("menues", xmenu);
p.put("procesos", xproc);

p.put("nombre", znombre);
p.put("ap", zap);
p.put("am", zam);
p.put("xcodusu",codusu);
return new ModelAndView("Principal/menu", p);
}

public ModelAndView desconectar(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException {
HttpSession session = request.getSession(true);
Map p = new HashMap();
session.removeAttribute("xlogin");
session.removeAttribute("xclave");
session.removeAttribute("xnombre");
session.removeAttribute("xap");
session.removeAttribute("xam");
session.removeAttribute("xci");

return new ModelAndView("Principal/inicio", null);


}

public void afterPropertiesSet() throws Exception {


// TODO Auto-generated method stub
}

}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView; import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class vehiculos extends MultiActionController


implements InitializingBean {
protected final Log logger =
LogFactory.getLog(getClass());

public VehiculosManager vehiculosManager;


public VehiculosManager getVehiculosManager() {
return vehiculosManager;
}

public void setVehiculosManager(VehiculosManager


vehiculosManager) {
this.vehiculosManager = vehiculosManager;
}

public Log getLogger() {


return logger;
}
240 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2402

public ModelAndView listarVehiculos(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo de
java
listarVehiculos");

HttpSession session = request.getSession(true);


String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
System.out.println("codusu = "+codusu);
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

String radio = request.getParameter("radio");

System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}

ArrayList lista2 = new ArrayList();


String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;
String concepto = "compras";

List vehiculosDat =
vehiculosManager.getListFechaVehiculos(estado, ini);
cant = vehiculosManager.countVehiculos(estado);
System.out.println(cant);
System.out.println(vehiculosDat);
p.put("vehiculosDatos", vehiculosDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

p.put("estado", estado);

return new
ModelAndView("Vehiculos/ListarVehiculos",p);
}
/*
public ModelAndView registrarVentas(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo java de
registrar
compra");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
String
zcodusu=(String)session.getAttribute("xcodusu");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
String codtrans =
String.valueOf(ventasManager.getCodTrans());
System.out.println("El codigo de transaccion es
"+codtrans);
List clientes = ventasManager.getClientes();
p.put("codtrans",codtrans);
p.put("codusu",zcodusu);
p.put("clientes",clientes);
System.out.println("Retornado modelAndView de
registroDeVentas");
return new
ModelAndView("Ventas/RegistroDeVentas",p);
}
/*
public ModelAndView
registrandoCompras(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("Se esta registrando la
compra");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");

// aki llamamos del tpl compras


String finicio = fordat.format(d);

String ffin = fordat.format(d);


String radio = request.getParameter("radio");
System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}

Date efechaini = null;


Date efechafin = null;

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la


perición
// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar

String zcodprov = "";


String znombre = "";
String zempresa = "";
String zdireccion ="";
String ztelefono ="";

String foto ="";


String zcodcomp="";
String zmarca="";
String zmodelo="";
String zplaca="";
String zcosto="";
String zcolor="";
String znropuertas="";
String znrochasis="";
String zobs = "";
String ztipo="";
String zcodag="";

// Parse the request


try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if (item.getFieldName().equals("xcodprov")) {
zcodprov=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xempresa")){
zempresa=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelefono"))
{ ztelefono=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xcodag")){
zcodag=item.getString().toUpperCase(); }

if (item.getFieldName().equals("xcodcomp")) {
zcodcomp=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xmarca")) {
zmarca=item.getString(); }// con el toupper conviertes a
mayusculas
if
(item.getFieldName().equals("xmodelo")){
zmodelo=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xplaca")) {
zplaca=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcosto")) {
zcosto=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcolor")) {
zcolor=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnropuertas")) {
znropuertas=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnrochasis")) {
znrochasis=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xobs"))
{ zobs=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtipo")) {
ztipo=item.getString().toUpperCase(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

//termina proceso hasta aqui

int codmarc = 0,codmodel=0,nrochasis =


0,costo=0,nropuertas=0,codtipo=0;
try{
codmarc = Integer.parseInt(zmarca);
codmodel = Integer.parseInt(zmodelo);
nrochasis = Integer.parseInt(znrochasis);
costo = Integer.parseInt(zcosto);
nropuertas = Integer.parseInt(znropuertas);
codtipo = Integer.parseInt(ztipo);
}catch(NumberFormatException ex){
ex.printStackTrace();
}
System.out.println(codmarc+"-"+codmodel+"-
"+zcolor+"-"+nrochasis+"-"+costo+"-"+nropuertas+"-"+zobs+"-
"+estado+"-"+codtipo);//la fecha antes de tipo.
// para ver que en uno de estos no agarre nulo
System.out.println("codcomp = "+zcodcomp+"-
codusu="+codusu+"-codprov ="+zcodprov+"-codag"+zcodag);
int zcodmov =
comprasManager.comprarVehiculo(codmarc,codmodel,zcolor,nrocha
sis,costo,nropuertas,zobs,estado,codtipo);
System.out.println("codmov = "+zcodmov);
int xcodusu =
comprasManager.getCodUsuario(zlogin,zclave);

comprasManager.registrarCompra(zcodcomp,String.valueOf(x
codusu),zcodprov,zcodmov,zcodag);//coddc, estado no se anotan

//---------------------------------
System.out.println(efechaini + " " + efechafin + "
" + radio + " "
+ estado);
ArrayList lista2 = new ArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;
if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List comprasDat =
agenciasManager.getListFechaCompras(efechaini,efechafin,
estado, ini);
cant = agenciasManager.countCompra(efechaini,
efechafin, estado);
System.out.println(cant);
System.out.println(comprasDat);
p.put("comprasDatos", comprasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

// elimina sesion lista de materiales

request.getSession().removeAttribute("s_materiales");

request.getSession().removeAttribute("s_cantidades");
List agenciasDat =
agenciasManager.getListaDeAgencias(xcodcomp);
System.out.println("despues lista de usuarios");

List usuarios = usuariosManager.getListUsuarios();


System.out.println("hola fin de lista de
usuarios");
System.out.println(usuarios);

p.put("detalleDatos", agenciasDat);

p.put("usuarios", usuarios);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

return new
ModelAndView("Compras/GestionCompras",p);
}
public ModelAndView verDetaVehiculo(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo java
de
verDetaVehiculo");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codmov=request.getParameter("xcodmov");
String codcomp = request.getParameter("xcodcomp");
Map p = new HashMap();
System.out.println("prueba detalle de compras de
autos "+codmov);
List vehiculos =
vehiculosManager.getDetalleDeCompraAutos(codmov);
System.out.println("continuando con comprasDat");

p.put("autos", vehiculos);

System.out.println("Retornado modelAndView de
verMaterial");
return new ModelAndView("Compras/detaAuto",p);
}
public ModelAndView verEncargado(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verEncargado");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codusu = request.getParameter("xcodusu");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
encargado "+codusu);
List encargado =
vehiculosManager.getEncargadoDeCompra(codusu,codcomp);
System.out.println("continuando con comprasDat");

p.put("encargado", encargado);

System.out.println("Retornado modelAndView de
verUsuario");
return new ModelAndView("Compras/detaUsuario",p);
}
public ModelAndView verProveedor(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verProveedor");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codprov = request.getParameter("xcodprov");
250 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2502

String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
proveedor "+codprov);
List proveedor =
vehiculosManager.getProveedorDeCompra(codprov,codcomp);
System.out.println("continuando con comprasDat");

p.put("proveedor", proveedor);

System.out.println("Retornado modelAndView de
verProveedor");
return new ModelAndView("Compras/detaProveedor",p);
}
*/
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub

}
}
package controller;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import java.util.*;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.multiaction.MultiActionCo
ntroller;

import javax.servlet.http.*;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;

import model.manager.dao.*;
import model.domain.*;

public class vehiculos extends MultiActionController


implements InitializingBean {
protected final Log logger =
LogFactory.getLog(getClass());

public VehiculosManager vehiculosManager;


public VehiculosManager getVehiculosManager() {
return vehiculosManager;
}

public void setVehiculosManager(VehiculosManager


vehiculosManager) {
this.vehiculosManager = vehiculosManager;
}

public Log getLogger() {


return logger;
}

public ModelAndView listarVehiculos(HttpServletRequest


request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo de java
listarVehiculos");

HttpSession session = request.getSession(true);


String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
System.out.println("codusu = "+codusu);
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

String radio = request.getParameter("radio");

System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}

ArrayList lista2 = new ArrayList();


String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List vehiculosDat =
vehiculosManager.getListFechaVehiculos(estado, ini);
cant = vehiculosManager.countVehiculos(estado);
System.out.println(cant);
System.out.println(vehiculosDat);
p.put("vehiculosDatos", vehiculosDat);
if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

p.put("estado", estado);

return new
ModelAndView("Vehiculos/ListarVehiculos",p);
}
/*
public ModelAndView registrarVentas(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de registrar
compra");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
String
zcodusu=(String)session.getAttribute("xcodusu");
if(zlogin==null){
response.sendRedirect("index.html");
}
Map p = new HashMap();
String codtrans =
String.valueOf(ventasManager.getCodTrans());
System.out.println("El codigo de transaccion es
"+codtrans);
List clientes = ventasManager.getClientes();
p.put("codtrans",codtrans);
p.put("codusu",zcodusu);
p.put("clientes",clientes);
System.out.println("Retornado modelAndView de
registroDeVentas");
return new
ModelAndView("Ventas/RegistroDeVentas",p);
}
/*
public ModelAndView
registrandoCompras(HttpServletRequest request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("Se esta registrando la
compra");
HttpSession session = request.getSession(true);
String zlogin = (String)
session.getAttribute("xlogin");
String zclave = (String)
session.getAttribute("xclave");

String codusu = (String)


session.getAttribute("xcodusu");
if (zlogin == null) {
response.sendRedirect("index.html");
}

Map p = new HashMap();

// colocar fecha
Date d = new Date();
SimpleDateFormat fordat = new
SimpleDateFormat("dd/MM/yyyy ");

// aki llamamos del tpl compras


String finicio = fordat.format(d);

String ffin = fordat.format(d);


String radio = request.getParameter("radio");

System.out.println(finicio);
System.out.println(ffin);
System.out.println(radio);
int estado = 1;
if (radio != null) {
if (radio.equals("Bajas")) {
estado = 0;
}
}

Date efechaini = null;


Date efechafin = null;

// subir foto desde aqui


ServletContext ctx =
request.getSession().getServletContext();

System.out.println(ctx.getRealPath("/"));

// construimos el objeto que es capaz de parsear la


perición
// Create a factory for disk-based file items
DiskFileItemFactory factory = new
DiskFileItemFactory();

// Set factory constraints


factory.setSizeThreshold(1024*512);

// Create a new file upload handler


ServletFileUpload upload = new
ServletFileUpload(factory);

// Set overall request size constraint


upload.setSizeMax(-1);
//definicion de variables a recepcionar

String zcodprov = "";


String znombre = "";
String zempresa = "";
String zdireccion ="";
String ztelefono ="";

String foto ="";


String zcodcomp="";
String zmarca="";
String zmodelo="";
String zplaca="";
String zcosto="";
String zcolor="";
String znropuertas="";
String znrochasis="";
String zobs = "";
String ztipo="";
String zcodag="";
// Parse the request
try {

List items = upload.parseRequest(request);


Iterator it = items.iterator();
FileItem item = null;
while(it.hasNext()) {
item = (FileItem) it.next();
String xfoto=null;
if(item.isFormField()){
if (item.getFieldName().equals("xcodprov")) {
zcodprov=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnombre"))
{ znombre=item.getString(); }// con el toupper conviertes
a mayusculas
if
(item.getFieldName().equals("xempresa"))
{ zempresa=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xdireccion")) {
zdireccion=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtelefono")){
ztelefono=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcodag")){
zcodag=item.getString().toUpperCase(); }

if (item.getFieldName().equals("xcodcomp")) {
zcodcomp=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xmarca"))
{ zmarca=item.getString(); }// con el toupper conviertes
a
mayusculas
if
(item.getFieldName().equals("xmodelo"))
{ zmodelo=item.getString().toUpperCase();
}
if
(item.getFieldName().equals("xplaca")) {
zplaca=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcosto")) {
zcosto=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xcolor")) {
zcolor=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnropuertas")) {
znropuertas=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xnrochasis")) {
znrochasis=item.getString().toUpperCase(); }
if (item.getFieldName().equals("xobs"))
{ zobs=item.getString().toUpperCase(); }
if
(item.getFieldName().equals("xtipo")) {
ztipo=item.getString().toUpperCase(); }

}else{

File file =new File(item.getName());


xfoto=file.getName();
//String ci=zci;
if(!xfoto.equals("")){
//System.out.println("path_file = "+path_file);

String extension = xfoto.substring(xfoto.length()-


3, xfoto.length()).toLowerCase();

if(extension.equals("png")||extension.equals("jpg")||ext
ension.equals("gif")){
//System.out.println("zzzzzzfooooto------
"+zfoto);
File zfoto = new
File(ctx.getRealPath("/")+"imag/" + xfoto);
item.write(zfoto);
}
}

System.out.println(xfoto);
}
}

} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
//termina proceso hasta aqui

int codmarc = 0,codmodel=0,nrochasis =


0,costo=0,nropuertas=0,codtipo=0;
try{
codmarc = Integer.parseInt(zmarca);
codmodel = Integer.parseInt(zmodelo);
nrochasis = Integer.parseInt(znrochasis);
costo = Integer.parseInt(zcosto);
nropuertas = Integer.parseInt(znropuertas);
codtipo = Integer.parseInt(ztipo);
}catch(NumberFormatException ex){
ex.printStackTrace();
}
System.out.println(codmarc+"-"+codmodel+"-
"+zcolor+"-"+nrochasis+"-"+costo+"-"+nropuertas+"-"+zobs+"-
"+estado+"-"+codtipo);//la fecha antes de tipo.
// para ver que en uno de estos no agarre nulo
System.out.println("codcomp = "+zcodcomp+"-
codusu="+codusu+"-codprov ="+zcodprov+"-codag"+zcodag);
int zcodmov =
comprasManager.comprarVehiculo(codmarc,codmodel,zcolor,nrocha
sis,costo,nropuertas,zobs,estado,codtipo);
System.out.println("codmov = "+zcodmov);
int xcodusu =
comprasManager.getCodUsuario(zlogin,zclave);

comprasManager.registrarCompra(zcodcomp,String.valueOf(x
codusu),zcodprov,zcodmov,zcodag);//coddc, estado no se anotan

//---------------------------------
System.out.println(efechaini + " " + efechafin + "
" + radio + " "
+ estado);
ArrayList lista2 = new ArrayList();
String cont = "";
int cant = 0;
int num = 0;
int num2 = 0;

if (request.getParameter("num2") == null) {
num2 = 1;
} else {
num2 =
Integer.parseInt(request.getParameter("num2"));
}
int ini = (num2 * 5) - 5;

String concepto = "compras";

List comprasDat =
agenciasManager.getListFechaCompras(efechaini,efechafin,
estado, ini);
cant = agenciasManager.countCompra(efechaini,
efechafin, estado);
System.out.println(cant);
System.out.println(comprasDat);
p.put("comprasDatos", comprasDat);

if ((cant % 5) == 0) {
num = cant / 5;
} else {
num = (cant / 5) + 1;
}
for (int i = 1; i <= num; i++) {
Map p2 = new HashMap();
p2.put("cont", i);
lista2.add(p2);
}
// hasta aqui

p.put("con", cant);
p.put("conta", lista2);
p.put("bloq", num2);
p.put("cant", num);

String xcodcomp = "0";


if (request.getParameter("xcodcomp") != null) {
xcodcomp = request.getParameter("xcodcomp");
}

// elimina sesion lista de materiales

request.getSession().removeAttribute("s_materiales");

request.getSession().removeAttribute("s_cantidades");

List agenciasDat =
agenciasManager.getListaDeAgencias(xcodcomp);
System.out.println("despues lista de usuarios");

List usuarios = usuariosManager.getListUsuarios();


260 EUGENIA MOTORS COMPRA VENTA DE VEHICULOS TALLER II
2602

System.out.println("hola fin de lista de


usuarios");
System.out.println(usuarios);

p.put("detalleDatos", agenciasDat);

p.put("usuarios", usuarios);
p.put("finicio", finicio);
p.put("ffin", ffin);
p.put("estado", estado);

return new
ModelAndView("Compras/GestionCompras",p);
}
public ModelAndView verDetaVehiculo(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException
{ System.out.println("metodo java
de
verDetaVehiculo");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codmov=request.getParameter("xcodmov");
String codcomp = request.getParameter("xcodcomp");
Map p = new HashMap();
System.out.println("prueba detalle de compras de
autos "+codmov);
List vehiculos =
vehiculosManager.getDetalleDeCompraAutos(codmov);
System.out.println("continuando con comprasDat");

p.put("autos", vehiculos);

System.out.println("Retornado modelAndView de
verMaterial");
return new ModelAndView("Compras/detaAuto",p);
}
public ModelAndView verEncargado(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verEncargado");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codusu = request.getParameter("xcodusu");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
encargado "+codusu);
List encargado =
vehiculosManager.getEncargadoDeCompra(codusu,codcomp);
System.out.println("continuando con comprasDat");

p.put("encargado", encargado);

System.out.println("Retornado modelAndView de
verUsuario");
return new ModelAndView("Compras/detaUsuario",p);
}
public ModelAndView verProveedor(HttpServletRequest
request,
HttpServletResponse response) throws
Exception, ServletException {
System.out.println("metodo java de verProveedor");
HttpSession session=request.getSession(true);

String zlogin=(String)
session.getAttribute("xlogin");
String zclave=(String)
session.getAttribute("xclave");
if(zlogin==null){
response.sendRedirect("index.html");
}
String codprov = request.getParameter("xcodprov");
String codcomp = request.getParameter("xcodcomp");

Map p = new HashMap();


System.out.println("prueba detalle de compras del
proveedor "+codprov);
List proveedor =
vehiculosManager.getProveedorDeCompra(codprov,codcomp);
System.out.println("continuando con comprasDat");

p.put("proveedor", proveedor);

System.out.println("Retornado modelAndView de
verProveedor");
return new ModelAndView("Compras/detaProveedor",p);
}
*/
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub

}
}

También podría gustarte