Lab-04-jc

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lab-04-jc as PDF for free.

More details

  • Words: 1,651
  • Pages: 31
Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

TALLER DE TRANSACCIONES PERSONALIZADAS (parte III) OBJETIVOS En este laboratorio desarrollaremos una aplicación que maneja procedimientos personalizados desde diversas viewObjects y el paso de datos entre paginas.

1. El modelo de la base de datos es el siguiente:

El código SQL para la creación de las tablas será cedido por el instructor del curso.

[email protected]

Página 1

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

1. Crear un proyecto que se denominara Transacciones02:

La persistencia quedara definida como en la imagen siguiente:

[email protected]

Página 2

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

2. En el AppModule: Realizar la Programación del procedimiento de inserción de en la tabla detalle.

Seleccionamos el procedimiento en el Client Interface:

[email protected]

Página 3

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. Programación en el ViewController 1. Dentro del la carpeta public_html crearemos una carpeta images y dentro de ello pondremos las imágenes que utilizaremos en nuestra aplicación.

2. Diseñamos una pagina de tipo plantilla: [email protected]

Página 4

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Clic derecho en ViewController / New – El asistente ira guiando en la creación de la pagina En el paso 2, seleccionar la opción:

No debe tener un manager Bean. En el paso 4 seleccionar la imagen que desea como fondo de su pagina.

[email protected]

Página 5

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. Desarrollar con asistencia del instructor la siguiente interfaz en la pagina plantilla.jsp

4. Debe configurar la navegación entre las paginas JSF Clic derecho a ViewController / Open JSF Navigation Diseñar la siguiente navegación entre páginas:

[email protected]

Página 6

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

5. Definir navegación global en el JSF, poner vista de “Source” y agregar las lineas de codigo:

[email protected]

Página 7

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

6. En la pagina plantilla.jsp vincular los actions de los tabs

En la imagen estamos vinculando el tab Venta con la navegación global “gventa” mediante el atributo action. Repetir el procedimiento para cada uno de los tabs con su respectiva navegación. [email protected]

Página 8

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

7. Creación de las paginas: Seleccionar la pagina plantilla.jsp del Application Navigation y luego dar clic al menú File / Save as

Ponerle de nombre cliente.jsp Repetir el procedimiento para cada una de las páginas. El navigation debe quedar con la siguiente vista:

[email protected]

Página 9

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

8. Una vez creadas las paginas, colocar al atributo select de los tab en true depediendo de la pagina en la que nos encontramos.

En la imagen, estamos en la pagina venta.jsp . Repetir el proceso para cada una de las páginas

[email protected]

Página 10

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

9. Ejecutar la página cliente y probar la navegación.

10. Mantenimiento de páginas mediante asistente. Mediante el asistente generaremos el mantenimiento para las paginas cliente.jsp y producto.jsp. A. Pagina Cliente Desde el DataControl arrastramos hacia la página el componente ClienteView1 Seleccionamos la opcion Tables / ADF Read-Only Table

[email protected]

Página 11

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Marcar los siguientes cheks:

Se genera la siguiente tabla:

Al botón editar en su atributo action seleccionar “irclientedetalle”

[email protected]

Página 12

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Agregamos a la tabla un boton de tipo “nuevo”, este boton lo generaremos desde ClienteView1 , lo arrastramos hacia la tabla de la pagina web:

A este boton “nuevo” tambien le agregamos en su atributo action: “irclientedetalle”.

A. Pagina ClienteDetalle En esta pagina arrastraremos también desde el DataControl la vista ClienteView1, pero ahora con la opcion Forms / ADF Form

[email protected]

Página 13

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

No marcar ningún check y dale clic al botón aceptar.

Teniendo el formulario arrastrar desde el DataControl hacia la página el componente Confirmar:

[email protected]

Página 14

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

La interfaz de la página tendría esta apariencia:

Por ultimo al botón guardar agregarle en su atributo action Ircliente. Ejecutar la página cliente.jsp y comprobar la transacción. * Repetir el procedimiento para la pagina Producto.

[email protected]

Página 15

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

10. Mantenimiento de Páginas mediante Backing y procedimientos personalizados. El asistente nos ayuda a agilizar el desarrollo, pero cuando los procesos son complejos, en el desarrollo de un sistema, es necesario utilizar un respaldo que nos permita tener un mejor control sobre los objetos. Por este motivo crearemos un backing. 1. Clic derecho en el ViewController / new Seleccionar java class:

2. En el faces-context.xml indicar que la clase BkVenta tendra un scope de tipo request

[email protected]

Página 16

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. En la pagina ventas.jsp, en la linea final del codigo escribir lo siguiente:

Cada control que coloquemos en la pagina venta.jsp automáticamente sera creado como objeto en el bkventa.

4. Diseñar la interfaz grafica de la pagina venta.jsp [email protected]

Página 17

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Agregar 2 Panel Horizontal:  phproducto  phmovimiento En el panel Horizontal phmovimiento colocaremos una tabla que se generara del componente MovimientoView1:

Solo se mostraran 3 campos:

Agregaremos también un formulario en el panelHorizontal phmovimiento [email protected]

Página 18

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Con los siguientes campos.

[email protected]

Página 19

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Para que cambie dinámicamente el formulario de la derecha conforme se haga una selección en la tabla se debe hacer lo siguiente: a. La tabla debe tener un id = tbmovimiento b. En el radio de la tabla , la propiedad autosubmit debe encontrar en true. c. En el formulario, su propiedad partialTrigger debe apuntar a tbmovimiento En el panelhorizontal phproducto de la misma forma agregarle una tabla tbproducto y un formulario, y repetir el procedimiento ya mencionado.

[email protected]

Página 20

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

5. Agregarle un botón “Comenzar Venta” a la pagina con el action= irventadetalle La presentación final de la página seria de esta manera:

Si revisa el backing BkVenta se dara cuenta que conforme ha ido generando objetos en la pagina venta.jsp tambien se han ido creando instancias de las clases que dan soporte a los controles ADF Faces. Cuando se de clic al boton “comenzar Venta” debe aparecer la pagina ventadetalle.jsp.

[email protected]

Página 21

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

11. Desarrollo de interfaz grafica de la pagina ventadetalle.jsp Debe crear una clase BkDetalleVenta y asignarle un scope de tipo request en el faces-context.xml.

En la pagina ventadetalle.jsp agregarle este codigo :

Diseño de la interfaz grafica, agregar un formulario y los componentes: 1. txtmovimiento 2. txtnombreproducto 3. txtidproducto 4. txtunidades 5. txttotallocal 6. txttotaldolar 7. cmdgrabar

Ejecutar la pagina:

[email protected]

Página 22

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

12. Para grabar un detalle son necesarios los datos de idmovimiento y idproducto, estos datos se encuentran en la pagina ventas.jsp, con un paso de parámetros mediante el backing podremos lograr completar esta funcionalidad. Para este caso vamos a pasar tres parámetros:  Idmovimiento  nombreProducto  idproducto

[email protected]

Página 23

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

1. Paso de parámetros desde la pagina venta.jsp hacia ventadetalle.jsp

La navegación entre estas dos paginas se da con la variable irventadetalle , que esta siendo trabajada desde el boton “comenzar Venta” de la pagina venta.jsp. Ingresaremos al código de la clase BkVenta.java Y declararemos 3 variables con sus respectivos accesores set / get

[email protected]

Página 24

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Regresamos a la página y le damos clic derecho sobre el botón “Comenzar Venta” y seleccionamos la opcion: (Antes de hacer este procedimiento debemos dejar en blanco su propiedad action)

Aparece una ventana que indica que se va a generar un método para este botón, de tipo action.

[email protected]

Página 25

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Se ha generado este procedimiento:

En este método capturaremos los valores de las cajas de texto y las cargaremos en un request, este request es el que llevara las variables hacia la pagina ventadetalle.jsp.

[email protected]

Página 26

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Vamos a la pagina ventadetalle.jsp y vamos a cargar a los tres controles con su respectivo value que proviene del backing bkventa.

Ejecutar la pagina y compruebe que pasan los datos.

13. Grabar datos en la tabla detalle. [email protected]

Página 27

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Desde el dataControl arrastrar hacia el formulario el method insertarDetalle:

Cargar los parámetros que necesita el method :

[email protected]

Página 28

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

En la parte inferior de la página crearemos una tabla que muestre dinámicamente las inserciones que se van haciendo en detalle. Para que esta tabla se actualice dinámicamente debemos crear un method action en el pageDefinition.

Seleccionar la opcion:

[email protected]

Página 29

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Dentro de la carpeta binding dar doble clic a la method Execute y en la ventana emergente seleccionar las opciones:

Finalmente vamos al código del botón “Guardar Venta”: [email protected]

Página 30

Curso de Especialización Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Y agregamos el código marcado:

Ejecutar la pagina y probar la funcionalidad.

[email protected]

Página 31