Análisis y Diseño Aplicación Cliente único

Versión 1.3 Contenido
1. CASOS DE USO......................................................................................................................................1 1.1. MANTENIMIENTO CLIENTE ÚNICO............................................................................................................3 1.2. ESCENARIO WEBSERVICES......................................................................................................................4 2. VISTA DE CASOS DE USO...................................................................................................................5 2.1.1. SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.1. LOGIN...........................................................6 2.1.2 SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.2. ALTA DE CLIENTES..........................................8 2.1.3. SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.3. MODIFICAR ESTATUS CLIENTES........................10 2.1.4. SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.4. MODIFICAR DATOS DE CLIENTES.....................12 2.1.5. SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.5. CONSULTA DE CLIENTES................................15 2.1.6. SECCIÓN MANTENIMIENTO DE CLIENTE ÚNICO. CU001.6. REPORTES....................................................17 2.2.1. SECCIÓN WEBSERVICES. CU002.1. ALTA CLIENTE.............................................................................19 2.2.2. SECCIÓN WEBSERVICES. CU002.2. MODIFICAR ESTATUS CLIENTE.......................................................21 2.3.3. SECCIÓN WEBSERVICES. CU002.3. MODIFICAR DATOS DEL CLIENTE....................................................23 2.2.4. SECCIÓN WEBSERVICES. CU002.4. CONSULTA DE CLIENTES................................................................25 3. DIAGRAMA DE ACTIVIDADES........................................................................................................27 3.1. LOGIN................................................................................................................................................27 3.2. ALTA DE USUARIOS..............................................................................................................................28 3.3. MODIFICAR ESTATUS DEL CLIENTES........................................................................................................30 3.4. MODIFICAR DATOS DEL CLIENTES..........................................................................................................31 3.5. CONSULTA CLIENTES............................................................................................................................32 3.6. WEBSERVICE ALTA DE CLIENTES...........................................................................................................34 3.7. MODIFICAR ESTATUS DEL CLIENTES........................................................................................................35 3.8. WEBSERVICE MODIFICAR DATOS DEL CLIENTES......................................................................................36 3.9. WEBSERVICE CONSULTA CLIENTE..........................................................................................................37 4. DIAGRAMAS DE SECUENCIA.........................................................................................................38 4.1. LOGIN................................................................................................................................................38 4.2. ALTA DE CLIENTES...............................................................................................................................39 4.3. DIAGRAMA DE SECUENCIA MODIFICAR ESTATUS CLIENTE ........................................................................40 4.4. MODIFICAR DATOS CLIENTES...............................................................................................................41 4.5. CONSULTAS CLIENTES..........................................................................................................................43 4.6. WEBSERVICE ALTA DE CLIENTES............................................................................................................44 4.7. WEBSERVICE MODIFICAR ESTATUS DEL CLIENTE.......................................................................................45 4.8. WEBSERVICE MODIFICAR DATOS DEL CLIENTE.........................................................................................46 4.9. WEBSERVICE CONSULTAS.....................................................................................................................47 5. DIAGRAMA DE CLASES....................................................................................................................48 5.1. DESCRIPCIÓN GENERAL DE CLASES........................................................................................................49 5.2. DIAGRAMA DE PAQUETES......................................................................................................................52 5.2.1. DESCRIPCIÓN DE PAQUETES..................................................................................................................54 5.2.2. DIAGRAMA DE CLASES POR PAQUETE: GFI.CLIENTEUNICO.WEBSERVICE.........................................................55 5.2.3. DIAGRAMA DE CLASES POR PAQUETE: GFI.CLIENTEUNICO.DELEGATE............................................................56 5.2.4. DIAGRAMA DE CLASES POR PAQUETE: GFI.CLIENTEUNICO.SESSION...............................................................58 5.2.5. DIAGRAMA DE CLASES POR PAQUETE: GFI.CLIENTEUNICO.ENTITY................................................................59 6. MODELO DE DATOS..........................................................................................................................60

1. Casos de Uso.
En el contexto actual, se han delimitado un conjunto de actividades a implementar dentro del esquema de cliente único solicitado por el grupo interacciones, con lo cual se garantiza la operación de una plataforma tecnológica acorde a los nuevos requerimientos planteados por la organización. Esta plataforma, se basara en implementar un esquema de información basado sobre una base de datos integra, con esquemas de recuperación de información seguros y basados en elementos tecnológicos de punta. En base a lo anterior, en el escenario se identifica la interacción de varias plataformas (Administración de cliente único y Administración de Seguridad), las cuales tendrán entradas y salidas para la ejecución del negocio. Este escenario inicia cuando es alimentado el repositorio de datos, almacenando la información de todos los clientes con los que cuenta actualmente el grupo. Esta información es procesada por el sistema y expuesta para ser consumida por los diversos esquemas que conforman la plataforma actual de sistemas.

Diagrama de Contexto

1

Diagrama Nivel 0

2

1.1. Mantenimiento Cliente Único.

Este escenario comienza cuando el usuario operador desea realizar procesos sobre el repositorio central de datos correspondiente al esquema de cliente único. Lo primero que se realiza es la autentificación del usuario para que se pueda configurar su perfil y tenga acceso a las operaciones que le correspondan acorde a este. Con esto, el usuario podrá dar de alta, modificar el estatus, modificar datos o consultar información según corresponda.

Diagrama de Contexto

3

1.2. Escenario WebServices.

Este escenario comienza cuando los distintos aplicativos accedan a los Webservices que descubren los servicios para manipular la información del esquema de datos.

Diagrama nivel 1.

4

2. Vista de Casos de Uso
Id
CU001. 1 CU001. 2 CU001. 3

Caso de Uso Login

CU001. 4

CU001. 5 CU001. 6

CU002. 1.

CU002. 2.

CU002. 3.

CU002. 4.

Descripción Determina el acceso al modulo de mantenimiento al modelo de datos. Alta de Clientes Dentro del Modulo de mantenimiento al modelo de datos, el objetivo es el de tipificar el proceso de alta clientes. Modificar estatus de Dentro del Modulo de mantenimiento Clientes al modelo de datos, el objetivo es el de tipificar el proceso de modificar el estatus del clientes. Modificar Clientes Dentro del Modulo de mantenimiento al modelo de datos, el objetivo es el de tipificar el proceso de modificar clientes. Consulta de clientes El objetivo de este caso de uso será el de tipificar el proceso de consulta de clientes. Reportes El objetivo de este caso de uso, es el de tipificar el proceso de generación de reportes en base a un conjunto de criterios. Alta de Cliente Se esquematiza el proceso para acceder el Webservice que permite el alta de un cliente a los distintos aplicativos que lo consumirán. Modificar el estatus Se esquematiza el proceso para del Cliente acceder el Webservice que permite modificar el estatus de un cliente a los distintos aplicativos que lo consumirán. Modificar Cliente Se esquematiza el proceso para acceder el Webservice que permite modificar un cliente a los distintos aplicativos que lo consumirán. Consultas Se esquematiza el proceso para acceder el Webservice que permite consultar la información del modelo de datos propuesto para los distintos aplicativos que lo consumirán.

5

2.1.1. Sección Mantenimiento de Cliente Único. CU001.1. Login. Nombre CU001.1. Login. Los objetivos que se deberán de cumplir con este caso de uso: A. Validar que las credenciales con las que se firmó el usuario sean válidas. B. Validar que el usuario tiene acceso a la Objetivo aplicación. C. Validar el tipo de usuario D. Rol del usuario E. Desplegar el menú correspondiente. Actores A. Usuario Operador 1. El usuario se ha firmado. Precondiciones 2. El usuario dio un clic en la liga correspondiente para acceder a la aplicación. La aplicación despliega el menú para el usuario Poscondiciones dependiendo de su rol, el cual es desplegado en la parte superior de la pantalla. 1. Al usuario le aparece la interfaz donde se le solicitan sus datos de logeo. 2. El usuario proporciona los datos de logeo. Flujo Principal 3. Se validan las credenciales del usuario. 4. Si el usuario firmado cuenta con al menos un rol en la aplicación, se muestra el menú correspondiente. 1. Sí el usuario firmado no cuenta con permisos o no tiene asignado al menos un rol, la Flujo Alternativo 1 aplicación notificará al usuario dicha aclaración. Reglas del Negocio 1. El usuario se firmará con su ID correspondiente, el cual estará asociado en la base de datos de la aplicación con un rol

6

determinado.

Diagrama de Caso de Uso 1.

7

2.1.2 Sección Mantenimiento de Cliente Único. CU001.2. Alta de clientes. Nombre CU001.2. Alta de clientes. Los objetivos que se deberán de cumplir con este caso de uso: A. Validar que el cliente no exista en la base de datos. B. Validar los datos requeridos. C. Que el cliente le sea asignado un identificador de cliente único. A. Usuario Operador 1. El usuario se ha firmado. 2. Los datos de logeo son validos. 3. El usuario tiene permisos para dar de alta clientes. 4. El usuario dio un clic en la opción “Agregar Cliente”. A. La aplicación presenta la interfaz que deberá de llenar el operador para dar de alta los clientes, validando los datos requeridos y enviando esta forma. B. Dependiendo del tipo de persona física o moral, se le adaptara la interfaz para el proceso de captura de datos. C. Se adaptara la interfaz para realizar el proceso de llenado de una o varias direcciones. D. Recibir mensajes que le indiquen el estatus de su operación. 1. Se le presenta al usuario una interfaz en la cual le son requeridos los distintos datos del cliente. 2. El operador llenara los datos de la forma correspondiente. 3. Cuando el usuario realiza el proceso de captura de los datos referentes al rubro persona física o moral o de direcciones, la interfaz se adaptara y presentara la información pertinente a cada caso. 4. El operador presiona la opción “Almacenar datos” 5. El sistema realiza un proceso de búsqueda del cliente. 6. El sistema almacenara los datos correspondientes a la forma. 7. La aplicación envía los datos de alta del usuario junto con sus datos de seguridad. 1. Se validan los datos proporcionados por el usuario. 8

Objetivo

Actores

Precondiciones

Poscondiciones

Flujo Principal

Flujo Alternativo 1

2. Si los datos son inválidos se le enviara al usuario la notificación correspondiente. 3. Si son validos se pasara a la forma siguiente procesándose el mensaje correspondiente. 4. Si se encuentra el cliente en la base de datos se le enviara un mensaje al operador, notificándole de esta situación. 5. Se muestra el estado de la operación. 1. Se validarán los campos requeridos para el alta de operador. 2. Se procesarán los mensajes en la interfaz para informar del estado de la operación. 3. Se almacenarán en un repositorio los datos de los usuarios registrados en la aplicación. 4. Se procesara la información referente al tipo de persona fisica o moral enviando el estatus de esta Reglas del Negocio validación. 5. Siempre se informará al usuario el estado de la operación. 6. Se genera el registro correspondiente de la bitácora de seguimiento de operaciones al mantenimiento del modelo de datos, con la información general de la transacción y quien la realizo.

9

Diagrama de Caso de Uso 2.

2.1.3. Sección Mantenimiento de Cliente Único. CU001.3. Modificar estatus clientes. Nombre CU001.3. Modificar Estatus de clientes. Los objetivos que se deberán de cumplir con este caso de uso: A. Modificar el estatus del cliente para que pueda realizar o no transacciones con el los distintos aplicativos. Inicialmente se manejan los estatus, habilitados o inhabilitados. A. Usuario Operador 1. El usuario se ha firmado. 2. El usuario cuenta con los privilegios de modificar el estatus al cliente. 3. El usuario dio un clic en la opción “Modificar estatus Cliente”. A. Se le presenta al usuario una interfaz con la lista de todos los clientes. De esta, el operador seleccionara al cliente al cual se le desea modificar el estatus. B. Se pedirá confirmación al operador para modificar el estatus del cliente. 1. Se le presenta al usuario una interfaz la cual tiene una lista con todos los clientes actuales del sistema. Dentro de esta interfaz tendrá la opción de realizar búsquedas para filtrar la información.

Objetivo

Actores Precondiciones

Poscondiciones

Flujo Principal

10

2. El usuario seleccionara los registros que deseen ser modificados en su estatus. 3. El operador confirmara su modificación. 5. De no existir registros que cumplan con los Flujo Alternativo 1 criterios de búsqueda el usuario recibirá un mensaje y se regresara a la pantalla original. 1. Se requerirá la aceptación por parte del operador para modificar los registros seleccionados. 2. Se modificara el registro o registros de los clientes de forma lógica en la base de datos. 3. Siempre se informara al usuario del estado de Reglas del Negocio la operación. 4. Al ser modificado el estatus del cliente, este no podrá ser objeto de operaciones. 5. Se registrara el movimiento realizado en la bitácora de seguimiento con los datos generales de quien solicito dicha operación así como fecha y hora del movimiento.

Diagrama Caso de Uso 3.

11

2.1.4. Sección Mantenimiento de Cliente Único. CU001.4. Modificar Datos de clientes. Nombre Objetivo Actores Precondiciones CU001.4. Modificar Datos de clientes. Los objetivos que se deberán de cumplir con este caso de uso: A. Se deberá de realizar los cambios respectivos al cliente en los elementos que integran su información general. A. Usuario Operador 1. El usuario se ha firmado. 2. El usuario cuenta con los privilegios necesarios para modificar los datos generales del cliente. 3. El usuario dio un clic en la opción “Modificar Cliente”. 1. La aplicación despliega una pantalla donde se presenta una tabla con los clientes. Además de un botón con la opción de buscar Cliente en base a un conjunto de parámetros. 1. Al usuario se le presenta una interfaz donde se encuentra una lista con todos los clientes. Contando con la opción de consulta para filtrar la información. 2. El usuario selecciona alguno de los clientes a modificar. 3. Se presenta una interfaz con el conjunto de datos del cliente seleccionado. Dentro de los datos a presentar estan: A. Datos generales del cliente. B. Domicilio del Cliente. 12

Poscondiciones Flujo Principal

C. Teléfonos del Cliente D. Perfil del cliente E. Datos adicionales del cliente. 4. Se modificaran los datos que se requieran. 5. E caso de que sea cambiado el tipo de persona ya sea física o moral, la interfaz adaptara los cambios necesarios para lograr implementar la captura de acuerdo al rubro seleccionado. 6. En caso de requerir capturar mas de una dirección, la interfaz facilitara el proceso al adaptarse a este requerimiento. 7. El usuario presionara el botón “Guardar Cambios”. 1. Se validarán los datos del usuario para reingresarlo en el sistema. 2. Si hace falta algún dato se regresará a la interfaz anterior 3. Si son válidos los datos se da de alta y se Flujo Alternativo 1 procesa el mensaje de estado de la operación. 4. Se validaran los datos del tipo de persona física o moral. 5. Se muestra el mensaje del estado de la operación. 1. Se validarán los campos requeridos para el ingreso del cliente e acuerdo al modelo de datos. 2. Se validaran no exista duplicidad en ninguno de los datos de cada una de las pantallas de captura. 2. Se procesarán los mensajes en la interfaz para informar del estado de la operación. 3. Se actualizara los repositorios de datos de los Reglas del Negocio clientes modificados en la aplicación. 4. Siempre se informará al usuario el estado de la operación. 5. Se generara el registro correspondiente a la bitácora de seguimiento con los datos de quien ha realizado la operación así como hora y fecha. 6. Se validaran las direcciones registradas, para que no exista duplicidad.

13

Diagrama Caso de Uso 4.

14

2.1.5. Sección Mantenimiento de Cliente Único. CU001.5. Consulta de clientes. Nombre CU001.5. Consulta clientes. Los objetivos que se deberán de cumplir con este caso de uso: Objetivo A. Se deberá de realizar los cambios respectivos al cliente en los elementos que integran su información general.. Actores A. Usuario Operador 1. El usuario se ha firmado. 2. El usuario cuenta con los privilegios para Precondiciones acceder a la opción de consultas. 3. El usuario dio un clic en la opción “Consultas”. 1. La aplicación muestra una interfaz donde se presentan un conjunto de criterios basados en Poscondiciones todos los datos del cliente por los cuales puede condicionar la consulta a realizar. 1. Se le presentara al usuario una interfaz con los criterios de consulta de información. 2. Una vez proporcionados los criterios, se procederá a realizar la búsqueda. 3. Se validan los datos proporcionados en los criterios de consulta. 4. Se realizara el proceso de consulta, regresando en una lista aquellos registros que cumplan con los criterios establecidos. Flujo Principal 5. Si el usuario selecciona alguno de los registros de la lista devuelta será enviado a una interfaz donde se le presenta toda la información del registro seleccionado. 6. El usuario tendrá la opción de poder regresar a la pantalla anterior para realizar nuevas búsquedas o seleccionar otro registro de la tabla, en caso de tener más de una coincidencia con los criterios definidos. 1. Se validaran los datos correspondientes 2. Si alguno de los datos presenta alguna inconsistencia, se le enviara un mensaje al Flujo Alternativo 1 usuario. 3. Se muestra el mensaje del estado de la operación. Reglas del Negocio 1. Se validarán los campos requeridos para el ingreso del cliente. 2. Se procesarán los mensajes en la interfaz para informar del estado de la operación. 3. Se actualizara los repositorios de datos de los clientes modificados en la aplicación. 4. Siempre se informará al usuario el estado de la 15

operación.

Diagrama Caso de Uso 5.

16

2.1.6. Sección Mantenimiento de Cliente Único. CU001.6. Reportes. Nombre CU001.6. Reportes. Los objetivos que se deberán de cumplir con este caso de uso: Objetivo A. Se deberá de mostrar el reporte seleccionado respecto al cliente en los elementos que integran su información general. Actores A. Usuario Operador 1. El usuario se ha firmado. Precondiciones 6. El usuario dio un clic en la opción “Reportes”. 1. La aplicación muestra una interfaz donde se puede obtener el reporte deseado, especificando un conjunto de criterios tales como: A. Por cliente. Poscondiciones B. Por producto. C. Por perfil-cliente. D. Por perfil-producto. E. Contrato. F. Global. 1. Se le presentará al usuario una interfaz con los criterios básicos para obtener el reporte deseado. 2. Una vez proporcionados los criterios, se procederá a realizar el reporte. 3. Aquellos datos que cumplan con dichos criterios serán regresados en una tabla, en caso de existir varios registros, el usuario seleccionara Flujo Principal alguno de ellos. 4. El usuario selecciona el registro y será enviado a una interfaz donde se le presenta el reporte. 5. El usuario tendrá la opción de poder regresar a la pantalla anterior para realizar nuevos reportes o seleccionar otro registro de la tabla, en caso de tener más de una coincidencia con los criterios. 1. Se validaran los datos correspondientes 2. Si alguno de los datos presenta alguna inconsistencia, se le enviara un mensaje al Flujo Alternativo 1 usuario. 3. Se muestra el mensaje del estado de la operación. 1. Se validarán los campos requeridos para la generación del reporte. 2. Se procesarán los mensajes en la interfaz para Reglas del Negocio informar del estado de la operación. 3. Siempre se informará al usuario el estado de la operación. 17

Diagrama Caso de Uso 6.

18

2.2.1. Sección WebServices. CU002.1. Alta Cliente.

Nombre

CU002.1. Alta Cliente Los objetivos que se deberán de cumplir con este caso de uso: Objetivo A. Brindar a los aplicativos el servicio de alta de un cliente. Actores A. Aplicativos 1. Los aplicativos envía la información necesaria para procesar el alta de un cliente. 2. El aplicativo deberá contar con los permisos Precondiciones correspondientes para generar el alta de cliente 3. La aplicación validara los datos enviados por los aplicativos. 1 Se le envía como respuesta al aplicativo un objeto con el número de identificado único. Poscondiciones 2. se realizara un proceso de búsqueda para validar que el cliente no exista. 1. El WebService recibe la solicitud de un alta por parte del aplicativo, los datos del cliente y los datos para seguridad. 2. La aplicación realiza la validación de la información enviada en base a las reglas del Flujo Principal negocio y a los esquemas de seguridad establecidos. 3. La aplicación almacena los datos del cliente en base de datos. 4. La aplicación regresa el identificador único del cliente al aplicativo por medio de un objeto. 1. En caso de existir el cliente, se le regresara al aplicativo un objeto mensaje donde se le indica el estatus del error, descripción del error y los datos que sean necesarios. Flujo Alternativo 1 2. El aplicativo no cuenta con los permisos para generar altas, con lo cual recibirá de igual forma un objeto con el error en el cuál se le indica el estatus de la operación. Reglas del Negocio 1. Se validarán los campos requeridos para el alta de operador bajo las siguientes especificaciones: A. En el caso del cliente se deberá de verificar sus existencia dentro del repositorio de datos, buscando el nombre, en caso de existir mas de un registro se deberá realizar un criterio de descarte para regresar la única incidencia del registro. A.1. Verificar el RFC A.2. Verificar EL CURP A.3. Verificar por dirección B. Al darse de alta un domicilio se realizara el 19

proceso de validación para confirmar que dicho domicilio no existe, bajo los siguientes criterios: B1. Verificar la población B.2. Verificar el código postal B.3. Verificar el estado C. Al realizar el proceso de alta del teléfono proporcionado por el cliente se deberá de validar que este no existe mediante verificar dicho numero sin ningún carácter adicional que no sea el numero. D. Al dar de alta el producto se deberá de verificar que no este dado de alta en la relación con el cliente actual. 2. Se almacenarán en un repositorio los datos de los usuarios registrados en la aplicación. 3. Siempre se informará a los aplicativos del estado de la operación. 4. Se realizaran procesos de validación tanto al cliente como a la dirección (es) proporcionada. 4. Se generar un registro a bitácora con el movimiento realizado con los datos del aplicativo así como hora y fecha del movimiento.

Diagrama Caso de Uso 1.

20

2.2.2. Sección WebServices. CU002.2. Modificar Estatus Cliente. Nombre CU002.2. Modificar estatus del Cliente Los objetivos que se deberán de cumplir con este caso de uso: Objetivo A. Brindar a los aplicativos el servicio de Modificar el estatus de un cliente. Actores A. Aplicativos 1. Los aplicativos envía el identificador único del cliente. 2. Deberá contar el aplicativo con los permisos Precondiciones para realizar la operación de modificar el estatus del cliente. 3. La aplicación validara los datos enviados por los aplicativos. 1. Se le envía como respuesta al aplicativo un Poscondiciones objeto mensaje con el estatus del cambio solicitado y la información necesaria. 1. La aplicación recibe la solicitud de modificar el estatus por parte del aplicativo. 2. Se validan los permisos del aplicativo para verificar los permisos. 3. La aplicación realiza la validación de la Flujo Principal información enviada en base a las reglas del negocio. 4. La aplicación realiza el cambio de estatus del cliente en base de datos. 5. La aplicación regresa el estatus de la operación al aplicativo por medio de un objeto mensaje. 1. En caso de no existir el cliente, se le regresara al aplicativo un objeto mensaje que le indique al Flujo Alternativo 1 aplicativo que no se ha podido realizar la transacción y los motivos. Reglas del Negocio 1. Siempre se informará a los aplicativos del estado de la operación. 21

2. Se generar un registro a bitácora con el movimiento realizado con los datos del aplicativo así como hora y fecha del movimiento.

Diagrama Caso de Uso 2.

22

2.3.3. Sección WebServices. CU002.3. Modificar Datos del Cliente. Nombre CU002.3. Modificar Datos del Cliente. Los objetivos que se deberán de cumplir con este caso de uso: Objetivo A. Brindar a los aplicativos el servicio de modificar la información concerniente a un cliente. Actores A. Aplicativos 1. Los aplicativos envía los datos a modificar del cliente. Precondiciones 2. La aplicación valida los datos enviados por los aplicativos. 1. Se le envía como respuesta al aplicativo un objeto mensaje con el estatus de la modificación Poscondiciones solicitada y en caso de existir, de los errores detectados. 1. La aplicación recibe la solicitud de modificación por parte del aplicativo. 2. La aplicación realiza los procesos de validación tanto de aquellos datos requeridos, como el cambio de tipo de persona, en cuyo caso se deberán de validar los campos correspondientes Flujo Principal así como la existencia de alguna de las direcciones a modificar. 3. La aplicación realiza las modificaciones del cliente en base de datos. 4. La aplicación regresa el estatus de la operación al aplicativo por medio de un objeto. 1. En caso de no proceder modificaciones del cliente, se le regresara al aplicativo un objeto con Flujo Alternativo 1 el estatus de la operación donde se le indique al aplicativo que no se ha podido realizar la transacción y la descripción del error o errores. Reglas del Negocio 1. Se validarán los campos requeridos para el ingreso del cliente bajo los siguientes criterios: A. Se deberá de validar que la información cumple con los criterios de formato para CURP, RFC, fechas cualquiera que sean. B. Se deberá de validar la existencia de los datos tanto para domicilio, teléfonos, datos adicionales y productos, actualizando los respectivos datos 23

que corresponda a cada no de ellos. Es decir si proporcionan un teléfono y este ya existe, pero cambia su tipo de teléfono de casa a familiar, validar este tipo de variaciones. 2. Se actualizara los repositorios de datos de los clientes modificados en la aplicación. 3. Siempre se informará a los Aplicativos del estado de la operación. 4. Se generar un registro a bitácora con el movimiento realizado con los datos del aplicativo así como hora y fecha del movimiento. 5. en caso de existir un cambio en el tipo de persona, se validaran que los nuevos valores proporcionados sean los correspondientes.

Diagrama Caso de Uso 3.

24

2.2.4. Sección WebServices. CU002.4. Consulta de Clientes. Nombre Objetivo Actores CU002.4. Consulta clientes. Los objetivos que se deberán de cumplir con este caso de uso: A. Ejecutar la consulta enviada pos los aplicativos junto con el conjunto de parámetros que le sean especificados. A. Aplicativos 1. El WebService recibirá un objeto con la consulta así como criterios de búsqueda que deberá de implementar. 2. El Webservice regresara un conjunto de objetos ClienteVO que cumplan los criterios de búsqueda solicitados. 1. El WebService regresa un arreglo de objetos con el resultado en caso de que la consulta tenga éxito. 2. En caso de que el WebService no encuentre ningún registro, regresara un objeto ClienteVO y un mensaje incluido en el en el cuál se especifique que no se han encontrado errores. 1. El Webservice recibe del aplicativo el objeto con los criterios de búsqueda. 2. Se válida que el aplicativo tenga los permisos correspondientes para realizar consultas. 3. Una vez proporcionados los criterios, se realiza la validación de dichos criterios. 4. Se realiza la consulta de la información en base a los criterios de búsqueda. 25

Precondiciones

Poscondiciones

Flujo Principal

5. Con base a los resultados de la consulta, se formara un arreglo de objetos con la información de aquellos registros que hayan cumplido con los criterios establecidos y un valor bolean que refleja el estatus de la operación, en este caso con un valor a verdadero. 1. Si no se encuentra registros, se regresa el arreglo vació y el en el estatus a trae.. 2. Si existe algún error en alguno de los criterios, se regresara en el estatus un valor a falso y un objeto con los errores detectados.

Flujo Alternativo 1

Diagrama Caso de Uso 4

26

3. Diagrama de Actividades
3.1. Login

27

3.2. Alta de Usuarios

28

29

3.3. Modificar estatus del Clientes

30

3.4. Modificar Datos del Clientes

31

3.5. Consulta Clientes

32

33

3.6. WebService Alta De clientes

34

3.7. Modificar estatus del Clientes

35

3.8. WebService Modificar Datos del Clientes

36

3.9. WebService Consulta Cliente

37

4. Diagramas de Secuencia
4.1. Login
Diagrama de secuencia. Login de usuarios <<Facade>> managed bean <<WebService>> WsBuscarUsuario <<BusinessDelegate EJB>> CatalogosDelegate <<Session Facade>> CatalogosBean:CatalogosRemote <<factory>> EntityManagerFactory:EntityManager <<Entity>> Aplicativos

View JSF Operador ingresa datos

Oracle

Validar Datos(AplicativoVO)

generar Mensaje enviar Datos verificarUsuario(AplicativoVO) getInstace() <<Singleton>> getInstance() regresar instancia

verificarUsuario(AplicativoVO) verificarUsuario(AplicativoVO) crearEntityManager() crearEntityManager(Entity) Regresar EntityManager verificarUsuario(AplicativoVO) verificarUsuario(AplicativoVO) persistence() Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>)

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Actualizar Vista

38

4.2. Alta de clientes
Diagrama de Secuencia. Alta de Clientes <<Facade>> managed bean <<WebService>> WsAltaCliente <<BusinessDelegate EJB>> ClienteUnicoDelegate <<Session Facade>> ClienteCUBean:ClienteCuRemote <<factory>> EntityManagerFactory:EntityManager <<Entity>> ClienteCU

View JSF Operador 1: Capturad Datos

Oracle

2: DatosView

4: Recibir Peticion Invocar WebService 5: getInstance() <<Singleton>> 6: geInstance()

7: Regresar Instancia

8: altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>))

9: altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) 10: crearEntityManager() <<Factory>> 11: crearEntityManager(Entity) 12: Regresar EntityManager

13: altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>))

15: Persistence() 16: Regresar Resultado Operacion(List<Mensajes>) 17: Regresar Resultado Operacion(List<Mensajes>) 18: Regresar Resultado Operacion(List<Mensajes>) 19: generarRegistroBitacora(AplicativoVO) 20: generarRegistroBitacora(AplicativoVO) 21: Persistence 22: Regresar Resultado Operacion(List<Mensajes>) 23: Regresar Resultado Operacion(List<Mensajes>) 24: Regresar Resultado Operacion(List<Mensajes>) 25: Regresar Resultado Operacion(List<Mensajes>)

26: Procesar Respuesta 27: Envío mensaje de estado(List<Mensajes>) 28: Envío mensaje de estado(List<Mensajes>)

29: Actualizar Vista

39

4.3. Diagrama de Secuencia Modificar Estatus Cliente
Diagrama de secuencia. Modificar situacion Cliente

View JSF Operador Capturar Datos

<<Facade>> managed bean

WsModificarSituacionCliente

<<BusinessDelegate EJB>> ClienteUnicoDelegate

<<Session Facade>> ClienteCUBean:ClienteCuRemote

<<factory>> EntityManagerFactory:EntityManager

<<Entity>> ClienteCU

Oracle

DatosView modificarSituacionCliente(AplicativoVO,ClienteMVO)

Atender Peticion getIsntance() <<Singleton>> GeInstance() regresar Instancia

modificarSituacionCliente(AplicativoVO,ClienteMVO) modificarSituacionCliente(AplicativoVO,ClienteMVO) crearEntityManager() <<Factory>> crearEntityManager(Entity) Regresar EntityManager modificarSituacionCliente(AplicativoVO,ClienteMVO) modificarSituacionCliente(AplicativoVO,ClienteMVO) Persistence() regresar Resultado peracion(ListaMensajes) regresar Resultado peracion(ListaMensajes) regresar Resultado peracion(ListaMensajes) regresar Resultado peracion(ListaMensajes)

Procesar Respuesta Envío mensaje de estado(ListaMensajes) Envío mensaje de estado(ListaMensajes) Envío mensaje de estado(ListaMensajes)

Actualizar Vista

40

4.4. Modificar Datos Clientes

41

Diagrama de Secuencia. Modificar Datos del Cliente

View JSF Operador capturar datos

<<Facade>> managed bean

WsModificarDatosCliente

<<BusinessDelegate EJB>> ClienteUnicoDelegate

<<Session Facade>> ClienteCUBean:ClienteCuRemote

<<factory>> EntityManagerFactory:EntityManager

<<Entity>> ClienteCU

Oracle

Datos View modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) Recibir Peticion getInstance() <<Singleton>> getInstance() regresar Instancia modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>)

modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) crearEntityManager()

crearEntityManager(Entity) Regresar EntityManager modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>)

Persistence() Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) generarRegistroBitacora(AplicativoVO) generarRegistroBitacora(AplicativoVO) Persistence Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>)

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Actualizar Vista

42

4.5. Consultas Clientes
Diagrama de secuencia. Consultas

View JSF Operador Captura Datos

<<Facade>> managed bean

<<BusinessDelegate>> ConsultasDelegate

ConsultasBen:ConsultasRemote

<<factory>> EntityManagerFactory:EntityManager

<<Entity>> Entitys

Oracle

EnviarDatos getInstance() <<Singleton>> getInstance() regresar Instancia

enviarConsulta(AplicativoV,CriteriosConsultaVO) enviarConsulta(AplicativoV,CriteriosConsultaVO) crearEntityManager()

regresar entityManager

crearEntityManager(Entity)

enviarConsulta(AplicativoV,CriteriosConsultaVO) enviarConsulta(AplicativoV,CriteriosConsultaVO)

createQuey(CriteriosConsultaVO) quey(CriteriosConsultaVO) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>) Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Actualizar Vista

43

4.6. WebService Alta de clientes
Diagrama de Secuencia. Ws Alta de Clientes

<<WebService>> WsAltaCliente Aplicativos

<<BusinessDelegate EJB>> ClienteUnicoDelegate

<<Session Facade>> ClienteCUBean:ClienteCuRemote

<<factory>> EntityManagerFactory:EntityManager

<<Entity>> ClienteCU

Oracle

altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) Invocar WebService

Recibir Peticion getInstance()

altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) <<Singleton>> getInstance() Ejecutar EJB Regresar Instancia altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) crearEntityManager() <<Factory>> crearEntityManager(Entity) Regresar EntityManager altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) altaCliente(AplicativoVO,ClienteVO,PersonaVO,List<DomicilioVO>List<TelefonoVO>,List<DatoAdicVO,List<ProductoVO>)) Persistence Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) generarRegistroBitacora(AplicativoVO) generarRegistroBitacora(AplicativoVO) execute Spi_AltaCliente(Cliente, Domicilio, Telefono,Producto,DatosCTO )

PL/SQL

generarRegistroBitacora(AplicativoVO) Regresar Resultado Operacion(List<Mensajes>)

Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>) Regresar Resultado Operacion(List<Mensajes>)

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Procesar Respuesta

44

4.7. WebService Modificar estatus del cliente
Diagrama de Secuencia. Ws Modificar Situaion Cliente <<BusinessDelegate EJB>> ClienteUnicoDelegate <<Session Facade>> ClienteCUBean:ClienteCuRemote <<factory>> EntityManagerFactory:EntityManager <<Entity>> ClienteCU

Ws Modificar Situacion Cliente Aplicativos

Oracle

modificarSituacionCliente(AplicativoVO,ClienteMVO) Invocar WebService Atender la Peticion modificarSituacionCliente(AplicativoVO,ClienteMVO) geInstance() Ejecutar EJB regresar Instancia <<Singleton>> getInstance()

modificarSituacionCliente(AplicativoVO,ClienteMVO) modificarSituacionCliente(AplicativoVO,ClienteMVO) crearEntityManager()

crearEntityManager(Entity) Regresar EntityManager modificarSituacionCliente(AplicativoVO,ClienteMVO) modificarSituacionCliente(AplicativoVO,ClienteMVO) Persistence() regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) generarRegistroBitacora(AplicativoVO) generarRegistroBitacora(AplicativoVO) Persistence()

execute Spa_ActualizarSituacion(DatosCliente) PL/SQL regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>)

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Procesar Resultado

45

4.8. WebService Modificar Datos del cliente

Ws Modificar Datos Cliente Aplicativos

<<BusinessDelegate EJB>> ClienteUnicoDelegate

<<Session Facade>> ClienteCUBean:ClienteCuRemote

<<factory>> EntityManagerFactory:EntityManager

<<Entity>> ClienteCU

Oracle

modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) Invocar WebService modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) getInstance() <<Singleton>> Ejecutar EJB getInstance() modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) crearEntityManager()

crearEntityManager(Entity) Regresar EntityManager

modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) modificarDatosCliente(AplicativoVO,ClienteDVO,PersonaDVO,List<DomicilioDVO>,List<TelefonoDVO>,List<DatosAdicDVO>,List<ProductosDVO>) Persistence()

Execute Spa_ModificarDatos(DatosCliente,DatosDomicilio,DatosTelefono,DatosCTO,DatosProducto) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>) regresar Resultado peracion(List<Mensajes>)

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

46

4.9. WebService Consultas
<<BusinessDelegate>> ConsultasDelegate <<factory>> EntityManagerFactory:EntityManager <<Entity>> Entitys

WsConsultaModelo Aplicativos enviarConsulta(AplicativoV,CriteriosConsultaVO) Consumir WebService

ConsultasBen:ConsultasRemote

Oracle

Atender Peticion

enviarConsulta(AplicativoV,CriteriosConsultaVO) getInstance() Ejecutar EJB Singleton: getInstance() regresar instancia

enviarConsulta(AplicativoV,CriteriosConsultaVO) enviarConsulta(AplicativoV,CriteriosConsultaVO) crearEntityManager()

crearEntityManager(Entity) regresar entity Manager enviarConsulta(AplicativoV,CriteriosConsultaVO) enviarConsulta(AplicativoV,CriteriosConsultaVO)

createQuey(CriteriosConsultaVO) quey(CriteriosConsultaVO) execute Spc_consultaClientes(CriteriosConsulta) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>) Regresar Resultados(List<Clientes>)

PL/SQL

Procesar Respuesta Envío mensaje de estado(List<Mensajes>) Envío mensaje de estado(List<Mensajes>)

Procesar Respuesta

47

5. Diagrama de Clases
Bajo este rubro se ha procedido a diagrama el contexto de alta de cliente Único para un mejor representación del comportamiento del modelo de clases. Este será complementado.

48

TelefonoCURemote

ProductosCURemote ClienteCURemote

DomicilioCURemote

TelefonoCUBean

ProductosCUBean <<BusinessDelegate EJB>> ClienteUnicoDelegate 0..* 0..* 0..1

1..1

- <<Singleton>> getInstance() : CatalogosDelegate

1..1

DomicilioCUBean

0..* 0..1 0..1 0..1

0..1 1..1 ClienteCUBean 0..* 1..1 WsAltaCliente.

ClienteDatoCtoBean

0..* <<Factory>> entityManager 1..1 1..1 1..* 1..* 1..* 1..* 1..* <<Persistence>> PersistenceUnit + parserXML (String xmlstring) : xsd

ClienteDatoCtoRemote <<Entity>> ClienteCU

1..1 1..1 <<Entity>> ClienteDetProd

1..1 <<Entity>> ClienteDomicilio

1..1 <<Entity>> ClienteTelefono

1..1

<<Entity>> ClienteDatoCto

1..1 1..1 1..1 <<Entity>> ClienteDetProdPK 1..* <<Entity>> ClienteDomicilioPK 1..1 <<Entity>> Cat_Tipo_Sector <<Entity>> ClienteTelefonoPK <<Entity>> CapTipTel 1..1

0..1

0..* <<Entity>> ClienteDatoCtoPK

5.1. Descripción General de Clases

a. ClienteCuBean

49

Esta clase tiene como objetivo modelar a los clientes y el conjunto de datos inherentes a ellos, así como el comportamiento que dicha entidad tendrá dentro del modelo. b. ClienteDomicilioBean Esta clase tiene como objetivo modelar la información relacionada con el domicilio del cliente, en sus principales características así como implementar su comportamiento. c. ClienteTelefonoBean Esta clase tiene como objetivo capturar la información relacionada con los teléfonos manejados para el cliente así como modelar su comportamiento. d. ClientePersonaFisicaBean Esta clase tiene como objetivo modelar la información referente a los datos del tipo de persona jurídica en relación con el cliente. Aquí se procesa la información concerniente a persona física así como el conjunto de operaciones inherentes a dicha clase. e. ClientePersonaMoralBean Esta clase modela la información referente a aquellas personas que son del tipo moral así como de modelar las operaciones inherentes a ala clase. f. ClienteDatosAdicBean Esta clase tiene como objetivo capturar la información referente a datos adicionales que deberán incluirse en el dominio del problema así como el conjunto de operaciones relacionadas con ella. g. ClienteProductoBean Esta clase se encarga de modelar el comportamiento de los distintos productos relacionados con el cliente así como las operaciones a realizar con dicha clase. h. EntityManager Esta clase tiene como función el de fungir como una fabrica de administradores de entidad los cuales en base a una unidad de persistencia y las entidades del modelo se accesa a la funcionalidad de la capa de persistencia. i. Entidades(Entity) 50

Este conjunto de clases son las encargadas de realizar el mapeo y la funcionalidad entre el modelo de desarrollo y el modelo de datos además de proporcionar una funcionalidad para el manejo de la información y capturar los datos mapeados a las tablas del modelo relacional. j. Cliente Único Delegate Esta clase tiene como objeto residir en la capa de presentación y en beneficio de los otros componentes de la capa de presentación llama a métodos remotos en los objetos de la capa de negocios. k. WsAltaCliente Esta clase se encarga de servir de fachada de los servicios con que cuenta el modelo de cliente único, realizando un parseo de la información recibida de los clientes y esquematizando validaciones mediante un formato XSD para pasar la información a las demás capas.

51

5.2. Diagrama de paquetes

52

Vista JSF

jsp

managed-bean

vo

Comunicacion

delegate (clienteunico)

servicios.web.service

exception (clienteunico) Negocios

vo (clienteunico)

jndi (clienteunico)

session (ejb)

Datos

entity (ejb)

53

5.2.1.Descripción de paquetes • • • gfi.clienteunico.jsf: Este paquete almacenara los recursos gráficos de la interfaz WEB. gfi.clienteunico.jsf.vo: Paquete diseñado para almacenar los value objet en la transferencia de información en la vista. gfi.clienteunico.jsf.managedbean: Paquete diseñado para almacenar los manegdbeans asociados a la vista para almacenar la información de esta y asociarse con la capa de negocios. gfi.clienteunico.delegate: Este paquete almacena los delegates. gfi.clienteunico.webservice: Paquete utilizado para almacenar las clases del webservice. gfi.clienteunico.session: Paquete que almacena los beans de session que se utilizan en la aplicación. gfi.clienteunico.vo: objetos que almacenan los datos generales. gfi.clienteunico.entity: Paquete que almacena las clases de los entityBeans. gfi.clienteunico.excepciones: Paquete que almacena las excepciones

• • • • • •

54

5.2.2.

Diagrama de clases por paquete: gfi.clienteunico.webservice
IwsAltaCliente

+ altaCliente (ClienteVO clienteVO, PersonaFVO PersonaFVO, DomicilioVO List<domicilioVO>, TelefonoVO List<TelefonoVO>, DatoAdicVO List<datoAdicVO>) : List<Mensajes>

WsAltaCliente + altaCliente (ClienteVO clienteVO, PersonaFVO PersonaFVO, DomicilioVO List<domicilioVO>, TelefonoVO List<TelefonoVO>, DatoAdicVO List<datoAdicVO>) : List<Mensajes>

55

5.2.3.Diagrama de clases por paquete: gfi.clienteunico.delegate

56

catalogosDelegate CatalogosDelegate - catalogosDelegate : CatalogosDelegate - tipoCatalogoBean_ : CatalogosRemote + <<Constructor>> CatalogosDelegate () + getInstance () : + getComboT ipoT elefono () : + getListaT ipT el () : + getComboPais () : + getComboEstado (String cvePais) : + getComboCiudad (String cveEstado) : + agregarTipTel (CatTipTel tiptel) : CatalogosDel egate List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> void

cuDelegate ClienteUnicoDelegate - cuDelegate : ClienteUnicoDelegate - cuBean_ : ClienteCuRemote - domicilioBean_ : ClienteDomici lioRemote + <<Constructor>> ClienteUnicoDelegate () + getInstance () : ClienteUnicoDelegate + altaClienteUnico (ClienteCu cu) : void + getIdCli enteUnico () : BigDecimal + getIdDomici lio () : int

tipoCatalogoBean_ CatalogosRemote (session)

+ + + + + +

getCatalogoT elefonos () getCatalogoPais () getCatalogoEstado (String cve) getCatalogoCiudad (String cve) getCatalogoT ipTel () agregarT ipT el (CatT ipT el tiptel)

: : : : : :

List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> void domicilioBean_ ClienteDomicilioRemote (session)

cuBean_ ClienteCuRemote (session) + + + + + + +

+ + + + + +

getMaxIdentificadorCU () agregarCliente (ClienteCu cu) eliminarCliente (ClienteVO clienteVO) actualizarCliente (ClienteCu cu) findCliente (BigDeci mal idCliente) findAllCliente ()

: : : : : :

BigDecimal void void void ClienteCu List<ClienteCu>

getMaxIdentificadorDomicilio () agregarClienteDomicilio (ClienteDomicilio cd) eliminarClienteDomicilio (ClienteDomici lio cd) actualizarClienteDomicilio (ClienteDomicilio cd) findClienteDomicilioByIdCu (BigDecimal idCu) findClienteDomicilioByPK (ClienteDomicilioPK key) findAllClienteDomicilio ()

: : : : : : :

int void void void ClienteDomicilio ClienteDomicilio List<ClienteDomicilio>

57

5.2.4.Diagrama de clases por paquete: gfi.clienteunico.session
ClienteT elefonoRemote ClienteDomicilioRemote + + + + + + agregarClienteT elefono (ClienteT elefono cT) eliminarClienteT elefono (ClienteT elefono cT) actualizarClienteT elefono (Cl ienteTelefono cT ) findClienteT el efonoByIdCu (BigDecimal i dCu) findClienteT el efonoByPK (ClienteT elefonoPK key) findAllCli enteT elefono () : : : : : : void void void Cli enteT elefono Cli enteT elefono List<ClienteT elefono> + + + + + ClientePersonaMoral Remote agregarClientePersonaMoral (ClientePm cPm) eliminarClientePersonaMoral (ClientePm cPm) actualizarClientePersonaMoral (ClientePm cPm) findClientePersonaMoral (Bi gDeci mal idCu) findAllClientePersonaMoral () : : : : : void void void ClientePm List<Cl ientePm>

+ + + + + + +

getMaxIdentifi cadorDomicilio () agregarClienteDomicilio (ClienteDomicilio cd) elimi narClienteDomicilio (ClienteDomicilio cd) actualizarClienteDomi cilio (ClienteDomicilio cd) findCli enteDomicil ioByIdCu (BigDecimal idCu) findCli enteDomicil ioByPK (Cli enteDomicil ioPK key) findAll Cl ienteDomicilio ()

: : : : : : :

int void void void ClienteDomicili o ClienteDomicili o Li st<ClienteDomicilio>

<<EJBSession>> ClienteT elefonoBean - _entityManager : EntityManager + <<Getter>> get_entityManager () + <<Setter>> set_entityManager (Enti tyManager _entityManager) + crearEntityManager () + cerrarEntityManager () + agregarClienteT elefono (ClienteT elefono cT ) + elimi narClienteT elefono (ClienteT elefono cT ) + actualizarClienteT elefono (ClienteT elefono cT) + findCli enteT elefonoByIdCu (BigDecimal idCu) + findCli enteT elefonoByPK (ClienteT elefonoPK key) + findAll Cl ienteTelefono () : : : : : : : : : : EntityManager void void void void void void Cl ienteTelefono Cl ienteTelefono List<ClienteT elefono> - _entityManager : EntityManager + <<Getter>> get_entityManager () + <<Setter>> set_enti tyManager (EntityManager _entityManager) + crearEntityManager () + cerrarEntityManager () + getMaxIdentificadorDomici lio () + agregarClienteDomicilio (ClienteDomicilio cd) + eliminarClienteDomicilio (Cl ienteDomicilio cd) + actualizarClienteDomicilio (Cl ienteDomici lio cd) + findClienteDomi cilioByIdCu (BigDecimal i dCu) + findClienteDomi cilioByPK (ClienteDomi cilioPK key) + findAllClienteDomicili o () : : : : : : : : : : : EntityManager void void void int void void void ClienteDomi cilio ClienteDomi cilio List<Cl ienteDomici lio> <<EJBSession>> Cli enteDomicil ioBean

<<EJBSession>> ClientePersonaMoralBean - _entityManager : EntityManager + <<Getter>> get_entityManager () + <<Setter>> set_entityManager (EntityManager _enti tyManager) + crearEntityManager () + cerrarEntityManager () + agregarClientePersonaMoral (ClientePm cPm) + eliminarClientePersonaMoral (ClientePm cPm) + actualizarClientePersonaMoral (ClientePm cPm) + findClientePersonaMoral (BigDecimal idCu) + findAllCli entePersonaMoral () : : : : : : : : : EntityManager void void void void void void Cl ientePm List<ClientePm>

CatalogosRemote

Cl ienteCuRemote

+ + + + + +

getMaxIdentificadorCU () agregarCliente (ClienteCu cu) eliminarCliente (ClienteVO cli enteVO) actualizarCliente (ClienteCu cu) findCliente (Bi gDeci mal idCl iente) findAllCli ente ()

: : : : : :

BigDecimal void void void ClienteCu List<Cl ienteCu>

ClientePersonaFisicaRemote

+ + + + +

agregarCli entePersonaFi sica (ClientePf cPf) eliminarClientePersonaFisica (ClientePf cPf) actualizarClientePersonaFisica (ClientePf cPf) findClientePersonaFisica (BigDeci mal idCu) findAllClientePersonaFisica ()

: : : : :

voi d voi d voi d ClientePf List<ClientePf>

+ + + + + +

getCatalogoT elefonos () getCatalogoPais () getCatalogoEstado (String cve) getCatalogoCiudad (String cve) getCatalogoT ipT el () agregarT ipTel (CatT ipT el tiptel)

: : : : : :

List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> List<CatalogoVO> void

<<EJBSessi on>> ClienteCuBean - _entityManager : EntityManager + <<Getter>> get_entityManager () + <<Setter>> set_entityManager (Enti tyManager _entityManager) + crearEntityManager () + cerrarEntityManager () + getMaxIdentifi cadorCU () + agregarCliente (Cli enteCu cu) + elimi narCliente (Cli enteVO cl ienteVO) + actualizarCliente (ClienteCu cu) + findCli ente (BigDecimal idCliente) + findAll Cl iente () : : : : : : : : : : EntityManager void void void BigDecimal void void void ClienteCu List<ClienteCu>

<<EJBSessi on>> ClientePersonaFisicaBean - _entityManager : EntityManager + <<Getter>> get_entityManager () + <<Setter>> set_entityManager (EntityManager _entityManager) + crearEntityManager () + cerrarEntityManager () + agregarClientePersonaFisica (Cl ientePf cPf) + el iminarCl ientePersonaFisica (Cl ientePf cPf) + actual izarCl ientePersonaFisi ca (Cli entePf cPf) + findClientePersonaFisica (BigDecimal idCu) + findAllClientePersonaFisica () : : : : : : : : : Enti tyManager void void void void void void ClientePf Li st<ClientePf>

<<EJBSession>> CatalogosBean - _entityManager : EntityManager + <<Getter>> get_entityManager () : EntityManager + <<Setter>> set_entityManager (EntityManager _entityManager) : void + crearEntityManager () : void + cerrarEntityManager () : void + findAllT i poT elefono () : List<CatT ipT el> + findAllT i pT el () : List<CatT ipT el> + findAllPais () : List<Poblacion> + findAllEstados (String cve) : List<Poblacion> + findAllCi udades (String cve) : List<Poblacion> + getCatalogoTelefonos () : List<CatalogoVO> + getCatalogoTi pT el () : List<CatalogoVO> + getCatalogoEstado (String cve) : List<CatalogoVO> + getCatalogoCi udad (String cve) : List<CatalogoVO> + getCatalogoPais () : List<CatalogoVO> + agregarT ipT el (CatT ipT el tiptel) : void

58

5.2.5.Diagrama de clases por paquete: gfi.clienteunico.entity
<<Unresolved Interface>> Serializable (io)

<<EJBEntity>> Poblacion cvePoblacion cveTipoPoblac cvePoblacUbic descPoblacion descCPoblac cveRetieneImp cvePzaSpeua cveLocSiti idGpoSepomex ptosRiesgoZg ptosRiesgoNac pctIva : String : String : String : String : String : String : Integer : String : Short : BigDecimal : BigDecimal : BigDecimal # clienteProdPerfilPK cveProducto sitProdPerfil cveUsuAlta fhAlta cveUsuModif fhModif catPerfil cveTipoProm clienteCu : ClienteProdPerfilPK : String : String : String : Date : String : Date : CatPerfil : CatTipoProm : ClienteCu

<<EJBEntity>> ClienteProdPerfil cveDatoCto descDatoCto cveUsuAlta fhAlta cveUsuMod fhModif clie nteDatoCtoCollection : String : String : String : Date : String : Date : Collection<ClienteDatoCto>

<<EJBEntity>> CatDatoCto cvePerfil descPerfil sitPerfil cveUsuAlta fhAlta cveUsuModif fhModif clienteProdPerfilCollection : String : String : String : String : Date : String : Date : Collection<ClienteProdPerfil>

<<EJBEntity>> CatPerfil - cveProducto : String - idEmpresa : int

CatProductoPK # catProductoPK descProducto sitProducto cveUsuAlta fhAlta cveUsuModif fhModif cveTipoPrd clie nteProdCollection : CatProductoPK : String : String : String : Date : String : Date : CatTipoProd : Collection<ClienteProd>

<<EJBEntity>> CatProducto - idCu : int - cveDatoCto : String

ClienteDatoCtoPK cveTipoProm descTi poProm cvePromRel cveUsuAlta sitTi poProm fhAlta cveUsuModif fhModif clienteProdPerfilCollection : String : String : String : String : String : Date : String : Date : Collection<ClienteProdPerfil>

<<EJBEntity>> CatTipoProm idCu nombrePersona apellidoPaterno apellidoMaterno cveEstadoCivil cveSexo fNacimiento lugarNacim curp bActivEmpresa cveUsuAlta fhAlta cveUsuModif fhModif clie nteCu : BigDecimal : String : String : String : String : String : Date : String : String : String : String : Date : String : Date : ClienteCu

<<EJBEntity>> ClientePf # clie nteDomicil ioPK cvePais cveEstado cveCiudad codigoPostal colonia oficinaPostal call e numExterior numInterior sitDomicil io cveUsuAlta fhAlta cveUsuModif fhModificacion clie nteCu clie nteProdCollection : ClienteDomicilio PK : String : String : String : String : String : String : String : String : String : String : String : Date : String : Date : ClienteCu : Collection<ClienteProd>

<<EJBEntity>> ClienteDomicilio # clienteRefPersonaPK : ClienteRefPersonaPK

<<EJBEntity>> ClienteRefPersona + <<Constructor>> ClienteRefPersona () + <<Constructor>> ClienteRefPersona (ClienteRefPersonaPK clienteRefPersonaPK) + <<Constructor>> ClienteRefPersona (int idCu, int idPersona) + getClienteRefPersonaPK () : ClienteRefPersonaPK + setClienteRefPersonaPK (ClienteRefPersonaPK clienteRefPersonaPK) : void + hashCode () : int + equals (Object object) : boolean + toString () : String clie nteTelefonoPK - idCu : int - cveTipTel : String

ClienteTelefonoPK

+ <<Constructor>> Poblacion () + <<Constructor>> Poblacion (String cvePoblacion) + <<Constructor>> Poblacion (String cvePoblacion, String descPoblacion) + getCvePoblacion () + setCvePoblacion (String cvePoblacion) + getCveTipoPoblac () + setCveTipoPoblac (String cveTipoPoblac) + getCvePoblacUbic () + setCvePoblacUbic (String cvePoblacUbic) + getDescPoblacion () + setDescPoblacion (String descPoblacion) + getDescCPoblac () + setDescCPoblac (String descCPoblac) + getCveRetieneImp () + setCveRetieneImp (String cveRetieneImp) + getCvePzaSpeua () + setCvePzaSpeua (Integer cvePzaSpeua) + getCveLocSiti () + setCveLocSiti (String cveLocSiti) + getIdGpoSepomex () + setIdGpoSepomex (Short idGpoSepomex) + getPtosRiesgoZg () + setPtosRiesgoZg (BigDecimal ptosRiesgoZg) + getPtosRiesgoNac () + setPtosRiesgoNac (BigDecimal ptosRiesgoNac) + getPctIva () + setPctIva (BigDecimal pctIva) + hashCode () + equals (Object object) + toString ()

: String : void : String : void : String : void : String : void : String : void : String : void : Integer : void : String : void : Short : void : BigDecimal : void : BigDecimal : void : BigDecimal : void : int : boolean : String

+ <<Constructor>> ClienteProdPerfil () + <<Constructor>> ClienteProdPerfil (ClienteProdPerfilPK clienteProdPerfilPK) + <<Constructor>> ClienteProdPerfil (ClienteProdPerfilPK clienteProdPerfilPK, String sitProdPerfil, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteProdPerfil (int idCu, String cvePerfil) + getClienteProdPerfilPK () : ClienteProdPerfilPK + setClienteProdPerfilPK (ClienteProdPerfilPK cli enteProdPerfilPK) : void + getCveProducto () : String + setCveProducto (String cveProducto) : void + getSitProdPerfil () : String + setSitProdPerfil (String sitProdPerfil) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModif () : Date + setFhModif (Date fhModif) : void + getCatPerfil () : CatPerfil + setCatPerfil (CatPerfil catPerfil) : void + getCveTipoProm () : CatTipoProm + setCveTipoProm (CatTipoProm cveTipoProm) : void + getClienteCu () : ClienteCu + setClienteCu (ClienteCu clienteCu) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

+ <<Constructor>> CatDatoCto () + <<Constructor>> CatDatoCto (String cveDatoCto) + <<Constructor>> CatDatoCto (String cveDatoCto, String descDatoCto, String cveUsuAlta, Date fhAlta) + getCveDatoCto () + setCveDatoCto (String cveDatoCto) + getDescDatoCto () + setDescDatoCto (String descDatoCto) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuMod () + setCveUsuMod (String cveUsuMod) + getFhModif () + setFhModif (Date fhModif) + getClienteDatoCtoCollection () + setClienteDatoCtoCollection (Collection<ClienteDatoCto> clienteDatoCtoCollection) + hashCode () + equals (Object object) + toString ()

: String : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteDatoCto> : void : int : boolean : String catDatoCto

catPerfil

+ <<Constructor>> CatPerfil () + <<Constructor>> CatPerfil (String cvePerfil) + <<Constructor>> CatPerfil (String cvePerfil, String descPerfil, String sitPerfil, String cveUsuAlta, Date fhAlta) + getCvePerfil () + setCvePerfil (String cvePerfil) + getDescPerfil () + setDescPerfil (String descPerfil) + getSitPerfil () + setSitPerfil (String sitPerfil) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModif () + setFhModif (Date fhModif) + getClienteProdPerfilCollection () + setClienteProdPerfilCollection (Collection<ClienteProdPerfil> clienteProdPerfilCollection) + hashCode () + equals (Object object) + toString ()

+ <<Constructor>> CatProductoPK () + <<Constructor>> CatProductoPK (String cveProducto, int idEmpresa) + getCveProducto () + setCveProducto (String cveProducto) + getIdEmpresa () + setIdEmpresa (int idEmpresa) + hashCode () + equals (Object object) + toString () : String : void : String : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteProdPerfil> : void : int : boolean : String

: String : void : int : void : int : boolean : String

catProductoPK

+ <<Constructor>> CatProducto () + <<Constructor>> CatProducto (CatProductoPK catProductoPK) + <<Constructor>> CatProducto (CatProductoPK catProductoPK, String descProducto, String sitProducto, String cveUsuAlta, Date fhAlta) + <<Constructor>> CatProducto (String cveProducto, int idEmpresa) + getCatProductoPK () : CatProductoPK + setCatProductoPK (CatProductoPK catProductoPK) : void + getDescProducto () : String + setDescProducto (String descProducto) : void + getSitProducto () : String + setSitProducto (String sitProducto) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModif () : Date + setFhModif (Date fhModif) : void + getCveTipoPrd () : CatTipoProd + setCveTipoPrd (CatTipoProd cveTipoPrd) : void + getClienteProdCollection () : Collection<ClienteProd> + setClienteProdCollection (Collection<ClienteProd> cli enteProdCollection) : void + hashCode () : int + equals (Object object) : boolean + toString () : String catProducto

+ <<Constructor>> ClienteDatoCtoPK () + <<Constructor>> ClienteDatoCtoPK (int idCu, String cveDatoCto) + getIdCu () : int + setIdCu (int idCu) : void + getCveDatoCto () : String + setCveDatoCto (String cveDatoCto) : void + hashCode () : int + equals (Object object) : boolean + toString () : String cli enteDatoCtoPK

cveTipoProm

+ <<Constructor>> CatTipoProm () + <<Constructor>> CatTipoProm (String cveTipoProm) + <<Constructor>> CatTipoProm (String cveTipoProm, String descTi poProm, String cveUsuAlta, String sitTip oProm, Date fhAlta) + getCveTipoProm () + setCveTipoProm (String cveTipoProm) + getDescTipoProm () + setDescTipoProm (String descTipoProm) + getCvePromRel () + setCvePromRel (String cvePromRel) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getSitTi poProm () + setSitTip oProm (String sitTip oProm) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModif () + setFhModif (Date fhModif) + getClienteProdPerfilCollection () + setClienteProdPerfilCollection (Collection<ClienteProdPerfil> clienteProdPerfilCollection) + hashCode () + equals (Object object) + toString ()

+ <<Constructor>> ClienteTelefonoPK () + <<Constructor>> ClienteTelefonoPK (int idCu, String cveTipTel) + getIdCu () + setIdCu (int idCu) + getCveTipTel () + setCveTipTel (String cveTipTel) + hashCode () + equals (Object object) + toString ()

: int : void : String : void : int : boolean : String

: String : void : String : void : String : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteProdPerfil> : void : int : boolean : String

+ <<Constructor>> ClientePf () + <<Constructor>> ClientePf (BigDecimal idCu) + <<Constructor>> ClientePf (BigDecimal idCu, String nombrePersona, String apellid oPaterno, String apellid oMaterno, String cveEstadoCivil, String cveSexo, Date fNacimiento, String lugarNacim, String cveUsuAlta, Date fhAlta) + getIdCu () : BigDecimal + setIdCu (BigDecimal idCu) : void + getNombrePersona () : String + setNombrePersona (String nombrePersona) : void + getApellid oPaterno () : String + setApellidoPaterno (String apellidoPaterno) : void + getApellid oMaterno () : String + setApellidoMaterno (String apellid oMaterno) : void + getCveEstadoCivil () : String + setCveEstadoCivil (String cveEstadoCivil) : void + getCveSexo () : String + setCveSexo (String cveSexo) : void + getFNacimiento () : Date + setFNacimiento (Date fNacimiento) : void + getLugarNacim () : String + setLugarNacim (String lugarNacim) : void + getCurp () : String + setCurp (String curp) : void + getBActivEmpresa () : String + setBActivEmpresa (String bActivEmpresa) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModif () : Date + setFhModif (Date fhModif) : void + getClienteCu () : ClienteCu clienteDomicili o + setClienteCu (ClienteCu clienteCu) : void + hashCode () : int + equals (Object object) : boolean + toString () : String clientePf

+ <<Constructor>> ClienteDomicilio () + <<Constructor>> ClienteDomicilio (ClienteDomicili oPK clienteDomicil ioPK) + <<Constructor>> ClienteDomicilio (ClienteDomicili oPK clienteDomicil ioPK, String cvePais, String cveEstado, String cveCiudad, String codigoPostal, String colonia, String calle, String numExterior, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteDomicilio (int idCu, int idDomicili o) + getClienteDomicilioPK () : ClienteDomicilioPK + setClienteDomicilio PK (ClienteDomicilio PK clienteDomicilio PK) : void + getCvePais () : String + setCvePais (String cvePais) : void + getCveEstado () : String + setCveEstado (String cveEstado) : void + getCveCiudad () : String + setCveCiudad (String cveCiudad) : void + getCodigoPostal () : String + setCodigoPostal (String codigoPostal) : void + getColonia () : String + setColonia (String colonia) : void + getOficinaPostal () : String + setOficinaPostal (String oficinaPostal) : void + getCalle () : String + setCalle (String calle) : void + getNumExterior () : String + setNumExterior (String numExterior) : void + getNumInterior () : String + setNumInterior (String numInterior) : void + getSitDomicili o () : String + setSitDomicilio (String sitDomicilio) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModificacion () : Date + setFhModificacion (Date fhModificacion) : void + getClienteCu () : ClienteCu + setClienteCu (ClienteCu clienteCu) : void + getClienteProdCollection () : Collection<ClienteProd> + setClienteProdCollection (Collection<ClienteProd> cli enteProdCollection) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

clie nteProdPerfilPK ClienteProdPerfilPK - idCu : int - cvePerfil : String + <<Constructor>> ClienteProdPerfilPK () + <<Constructor>> ClienteProdPerfilPK (int idCu, String cvePerfil) + getIdCu () : int + setIdCu (int idCu) : void + getCvePerfil () : String + setCvePerfil (String cvePerfil) : void + hashCode () : int + equals (Object object) : boolean + toString () : String - tipo : String - maxIdentificador : long + <<Constructor>> CatIdentificador () + <<Constructor>> CatIdentificador (String tipo) + <<Constructor>> CatIdentificador (String tipo, long maxIdentificador) + getTipo () : String + setTipo (String tipo) : void + getMaxIdentificador () : long + setMaxIdentificador (long maxIdentificador) : void + hashCode () : int + equals (Object object) : boolean + toString () : String <<EJBEntity>> CatIdentificador ClienteDomicili oPK - idCu : int - idDomicilio : int + <<Constructor>> ClienteDomicilioP K () + <<Constructor>> ClienteDomicilioP K (int idCu, int idDomicil io) + getIdCu () : int + setIdCu (int idCu) : void + getIdDomicilio () : int + setIdDomicilio (int idDomicil io) : void + hashCode () : int + equals (Object object) : boolean + toString () : String cli enteDomicilioPK cveTipoPrd descripTipo cveUsuAlta fhAlta cveUsuModif fhModificacion catProductoCollection : String : String : String : Date : String : Date : Collection<CatProducto> <<EJBEntity>> CatTipoProd cveTipoPrd cveSituacion descSituacion cveUsuAlta fhAlta cveUsuModif fhModif clie nteProdCollection : String : String : String : Date : String : Date : Collection<ClienteProd> <<EJBEntity>> CatSituacion cveTipTel descTipTel sitT ipTel cveUsuAlta fhAlta cveUsuModif fhModif clie nteTelefonoCollection : String : String : String : String : Date : String : Date : Collection<ClienteTelefono> <<EJBEntity>> CatTipTel iTip oDetalle descDetalle cveUsuAlta fhAlta cveUsuModif fhModificacion clienteDetProdCollection : BigDecimal : String : String : Date : String : Date : Collection<ClienteDetProd> <<EJBEntity>> CatTipoDetalle idCu fConstitucion nomRazonSocial cveUsuAlta fhAlta cveUsuModif fhModif clienteCu : BigDecimal : Date : String : String : Date : String : Date : ClienteCu <<EJBEntity>> ClientePm ClienteDetProdPK - idCu : int - cveProducto : String - idEmpresa : int - idReferenciaProd : String - iTi poDetalle : int - cveSituacion : String + <<Constructor>> ClienteDetProdPK () + <<Constructor>> ClienteDetProdPK (int idCu, String cveProducto, int idEmpresa, String idReferenciaProd, int iTipoDetalle, String cveSituacion) + getIdCu () + setIdCu (int idCu) + getCveProducto () + setCveProducto (String cveProducto) + getIdEmpresa () + setIdEmpresa (int idEmpresa) + getIdReferenciaProd () + setIdReferenciaProd (String idReferenciaProd) + getITipoDetalle () + setITipoDetalle (int iTipoDetalle) + getCveSituacion () + setCveSituacion (String cveSituacion) + hashCode () + equals (Object object) + toString () clie nteDetProdPK - idCu : int - cveProducto : String - idEmpresa : int - idReferenciaProd : String + <<Constructor>> ClienteProdPK () + <<Constructor>> ClienteProdPK (int idCu, String cveProducto, int idEmpresa, String idReferenciaProd) + getIdCu () + setIdCu (int idCu) + getCveProducto () + setCveProducto (String cveProducto) + getIdEmpresa () + setIdEmpresa (int idEmpresa) + getIdReferenciaProd () + setIdReferenciaProd (String idReferenciaProd) + hashCode () + equals (Object object) + toString () ClienteProdPK - idCu : int - idPersona : int

clienteRefPersonaPK ClienteRefPersonaPK

+ <<Constructor>> CatTipoProd () + <<Constructor>> CatTipoProd (String cveTipoPrd) + <<Constructor>> CatTipoProd (String cveTipoPrd, String descripTipo, String cveUsuAlta, Date fhAlta) + getCveTipoPrd () : String + setCveTipoPrd (String cveTipoPrd) : void + getDescripTipo () : String + setDescripTipo (String descripTipo) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModificacion () : Date + setFhModificacion (Date fhModificacion) : void + getCatProductoCollection () : Collection<CatProducto> + setCatProductoCollection (Collection<CatProducto> catProductoCollection) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

+ <<Constructor>> CatSituacion () + <<Constructor>> CatSituacion (String cveSituacion) + <<Constructor>> CatSituacion (String cveSituacion, String descSituacion, String cveUsuAlta, Date fhAlta) + getCveSituacion () + setCveSituacion (String cveSituacion) + getDescSituacion () + setDescSituacion (String descSituacion) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModif () + setFhModif (Date fhModif) + getClienteProdCollection () + setClienteProdCollection (Collection<ClienteProd> clienteProdCollection) + hashCode () + equals (Object object) + toString ()

: String : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteProd> : void : int : boolean : String

+ <<Constructor>> + <<Constructor>> + <<Constructor>> + + + + + + + + + + + + cveSituacion + + + + + + +

CatTipTel () CatTipTel (String cveTipTel) CatTipTel (String cveTipTel, String descTipTe l, String sitTip Tel, String cveUsuAlta, Date fhAlta) getCveTipTel () setCveTipTel (String cveTipTel) getDescTip Tel () setDescTipTe l (String descTipTe l) getSitTipTel () setSitTipTel (String sitTi pTel) getCveUsuAlta () setCveUsuAlta (String cveUsuAlta) getFhAlta () setFhAlta (Date fhAlta) getCveUsuModif () setCveUsuModif (String cveUsuModif) getFhModif () setFhModif (Date fhModif) getClienteTelefonoCollection () setClienteTelefonoCollection (Collection<ClienteTelefono> clienteTelefonoCollection) hashCode () equals (Object object) toString () catTipTel

: String : void : String : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteTelefono> : void : int : boolean : String

+ <<Constructor>> CatTipoDetalle () + <<Constructor>> CatTipoDetalle (BigDecimal iTipoDetalle) + <<Constructor>> CatTipoDetalle (BigDecimal iTipoDetalle, String descDetalle, String cveUsuAlta, Date fhAlta) + getITipoDetalle () + setITipoDetalle (BigDecimal iTipoDetalle) + getDescDetalle () + setDescDetalle (String descDetalle) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModificacion () + setFhModificacion (Date fhModificacion) + getClienteDetProdCollection () + setClienteDetProdCollection (Collection<ClienteDetProd> cli enteDetProdCollection) + hashCode () + equals (Object object) + toString ()

: BigDecimal : void : String : void : String : void : Date : void : String : void : Date : void : Collection<ClienteDetProd> : void : int : boolean : String

catTipoDetalle

+ <<Constructor>> ClientePm () + <<Constructor>> ClientePm (BigDecimal idCu) + <<Constructor>> ClientePm (BigDecimal idCu, Date fConstitucion, String nomRazonSocial, String cveUsuAlta, Date fhAlta, String cveUsuModif) + getIdCu () + setIdCu (BigDecimal idCu) + getFConstitucion () + setFConstitucion (Date fConstitucion) + getNomRazonSocial () + setNomRazonSocial (String nomRazonSocial) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModif () + setFhModif (Date fhModif) + getClienteCu () + setClienteCu (ClienteCu clienteCu) + hashCode () + equals (Object object) + toString () clie ntePm

: BigDecimal : void : Date : void : String : void : String : void : Date : void : String : void : Date : void : ClienteCu : void : int : boolean : String

: int : void : String : void : int : void : String : void : int : void : String : void : int : boolean : String

clienteProdPK

: int : void : String : void : int : void : String : void : int : boolean : String

+ <<Constructor>> ClienteRefPersonaPK () + <<Constructor>> ClienteRefPersonaPK (int idCu, int idPersona) + getIdCu () : int + setIdCu (int idCu) : void + getIdPersona () : int + setIdPersona (int idPersona) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

clie nteCu clienteCu <<EJBEntity>> ClienteDatoCto # clienteDatoCtoPK datoStr datoInt datoDob cveUsuAlta fhAlta cveUsuModif fhModif catDatoCto clienteCu : ClienteDatoCtoPK : String : Integer : BigDecimal : String : Date : String : Date : CatDatoCto : ClienteCu # clie nteTelefonoPK cvePais cveLocal numero extension sitCteTel cveUsuAlta fhAlta cveUsuModif fhModif catTipTel clie nteCu : ClienteTelefonoPK : String : String : String : String : String : String : Date : String : Date : CatTipTel : ClienteCu <<EJBEntity>> ClienteTelefono # clienteProdPK cveUsuAlta fhAlta cveUsuModif fhModificacion clienteDetProdCollection catProducto cveSituacion clienteDomicilio : ClienteProdPK : String : Date : String : Date : Collection<ClienteDetProd> : CatProducto : CatSituacion : ClienteDomicilio <<EJBEntity>> ClienteProd # cli enteDetProdPK detalleStr detalleInt detalleDob cveUsuAlta fhAlta cveUsuModif fhModificacion catTipoDetalle cli enteProd : ClienteDetProdPK : String : Integer : BigDecimal : String : Date : String : Date : CatTipoDetalle : ClienteProd <<EJBEntity>> ClienteDetProd idCu nombre siglasRfc fRfc homoclaveRfc cveNacionalidad cvePerJuridica cveTipoSector cveActivEcoSiti sitCliente cveUsuAlta fhAlta cveUsuModif fhModif clienteProdPerfilCollection clienteDatoCtoCollection clienteDomicilio Collection clientePm clienteTelefonoCollection clientePf : BigDecimal : String : String : String : String : String : String : String : String : String : String : Date : String : Date : Collection<ClienteProdPerfil> : Collection<ClienteDatoCto> : Collection<ClienteDomicilio> : ClientePm : Collection<ClienteTelefono> : ClientePf <<EJBEntity>> ClienteCu

clie nteCu

+ <<Constructor>> ClienteDatoCto () + <<Constructor>> ClienteDatoCto (ClienteDatoCtoPK clienteDatoCtoPK) + <<Constructor>> ClienteDatoCto (ClienteDatoCtoPK clienteDatoCtoPK, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteDatoCto (int idCu, String cveDatoCto) + getClienteDatoCtoPK () + setClienteDatoCtoPK (ClienteDatoCtoPK cli enteDatoCtoPK) + getDatoStr () + setDatoStr (String datoStr) + getDatoInt () + setDatoInt (Integer datoInt) + getDatoDob () + setDatoDob (BigDecimal datoDob) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModif () + setFhModif (Date fhModif) + getCatDatoCto () + setCatDatoCto (CatDatoCto catDatoCto) + getClienteCu () + setClienteCu (ClienteCu clienteCu) + hashCode () + equals (Object object) + toString ()

: ClienteDatoCtoPK : void : String : void : Integer : void : BigDecimal : void : String : void : Date : void : String : void : Date : void : CatDatoCto : void : ClienteCu : void : int : boolean : String

+ <<Constructor>> ClienteTelefono () + <<Constructor>> ClienteTelefono (ClienteTelefonoPK cli enteTelefonoPK) + <<Constructor>> ClienteTelefono (ClienteTelefonoPK cli enteTelefonoPK, String cvePais, String cveLocal, String numero, String sitCteTel, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteTelefono (int idCu, String cveTipTel) + getClienteTelefonoPK () : ClienteTelefonoPK + setClienteTelefonoPK (ClienteTelefonoPK clienteTelefonoPK) : void + getCvePais () : String + setCvePais (String cvePais) : void + getCveLocal () : String + setCveLocal (String cveLocal) : void + getNumero () : String + setNumero (String numero) : void + getExtension () : String + setExtension (String extension) : void + getSitCteTel () : String + setSitCteTel (String sitCteTel) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModif () : Date + setFhModif (Date fhModif) : void + getCatTipTel () : CatTipTel + setCatTipTel (CatTipTel catTipTel) : void + getClienteCu () : ClienteCu + setClienteCu (ClienteCu clienteCu) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

+ <<Constructor>> ClienteProd () + <<Constructor>> ClienteProd (ClienteProdPK clienteProdPK) + <<Constructor>> ClienteProd (ClienteProdPK clienteProdPK, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteProd (int idCu, String cveProducto, int idEmpresa, String idReferenciaProd) + getClienteProdPK () + setClienteProdPK (ClienteProdPK clienteProdPK) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModificacion () + setFhModificacion (Date fhModificacion) + getClienteDetProdCollection () + setClienteDetProdCollection (Collection<ClienteDetProd> clienteDetProdCollection) + getCatProducto () + setCatProducto (CatProducto catProducto) + getCveSituacion () + setCveSituacion (CatSituacion cveSituacion) + getClienteDomicilio () + setClienteDomicili o (ClienteDomicilio clienteDomicilio ) + hashCode () + equals (Object object) + toString ()

: ClienteProdPK : void : String clienteProd : void : Date : void : String : void : Date : void : Collection<ClienteDetProd> : void : CatProducto : void : CatSituacion : void : ClienteDomicilio : void : int : boolean : String

+ <<Constructor>> ClienteDetProd () + <<Constructor>> ClienteDetProd (ClienteDetProdPK clienteDetProdPK) + <<Constructor>> ClienteDetProd (ClienteDetProdPK clienteDetProdPK, String cveUsuAlta, Date fhAlta) + <<Constructor>> ClienteDetProd (int idCu, String cveProducto, int idEmpresa, String idReferenciaProd, int iTipoDetalle, String cveSituacion) + getClienteDetProdPK () + setClienteDetProdPK (ClienteDetProdPK clienteDetProdPK) + getDetalleStr () + setDetalleStr (String detalleStr) + getDetalleInt () + setDetalleInt (Integer detalleInt) + getDetalleDob () + setDetalleDob (BigDecimal detalleDob) + getCveUsuAlta () + setCveUsuAlta (String cveUsuAlta) + getFhAlta () + setFhAlta (Date fhAlta) + getCveUsuModif () + setCveUsuModif (String cveUsuModif) + getFhModificacion () + setFhModificacion (Date fhModificacion) + getCatTipoDetalle () + setCatTipoDetalle (CatTipoDetalle catTipoDetalle) + getClienteProd () + setClienteProd (ClienteProd clienteProd) + hashCode () + equals (Object object) + toString ()

: ClienteDetProdPK : void : String : void : Integer : void : BigDecimal : void : String : void : Date : void : String : void : Date : void : CatTipoDetalle : void : ClienteProd : void : int : boolean : String

cli enteCu

cli enteCu

+ <<Constructor>> ClienteCu () + <<Constructor>> ClienteCu (BigDecimal idCu) + <<Constructor>> ClienteCu (BigDecimal idCu, String nombre, String siglasRfc, String fRfc, String homoclaveRfc, String cveNacionalidad, String cvePerJuridica, String cveTipoSector, String cveActivEcoSiti, String sitCliente, String cveUsuAlta, Date fhAlta) + getIdCu () : BigDecimal + setIdCu (BigDecimal idCu) : void + getNombre () : String + setNombre (String nombre) : void + getSiglasRfc () : String + setSiglasRfc (String siglasRfc) : void + getFRfc () : String + setFRfc (String fRfc) : void + getHomoclaveRfc () : String + setHomoclaveRfc (String homoclaveRfc) : void + getCveNacionalidad () : String + setCveNacionalidad (String cveNacionalidad) : void + getCvePerJuridica () : String + setCvePerJuridica (String cvePerJuridica) : void + getCveTipoSector () : String + setCveTipoSector (String cveTipoSector) : void + getCveActivEcoSiti () : String + setCveActivEcoSiti (String cveActivEcoSiti) : void + getSitCliente () : String + setSitCliente (String sitCliente) : void + getCveUsuAlta () : String + setCveUsuAlta (String cveUsuAlta) : void + getFhAlta () : Date + setFhAlta (Date fhAlta) : void + getCveUsuModif () : String + setCveUsuModif (String cveUsuModif) : void + getFhModif () : Date + setFhModif (Date fhModif) : void + getClienteProdPerfilCollection () : Collection<ClienteProdPerfil> + setClienteProdPerfilCollection (Collection<ClienteProdPerfil> cli enteProdPerfilCollection) : void + getClienteDatoCtoCollection () : Collection<ClienteDatoCto> + setClienteDatoCtoCollection (Collection<ClienteDatoCto> clienteDatoCtoCollection) : void + getClienteDomicili oCollection () : Collection<ClienteDomicil io> + setClienteDomicilio Collection (Collection<ClienteDomicil io> cli enteDomicilioC ollection) : void + getClientePm () : ClientePm + setClientePm (ClientePm clientePm) : void + getClienteTelefonoCollection () : Collection<ClienteTelefono> + setClienteTelefonoCollection (Collection<ClienteTelefono> clienteTelefonoCollection) : void + getClientePf () : ClientePf + setClientePf (ClientePf cli entePf) : void + hashCode () : int + equals (Object object) : boolean + toString () : String

59

6. Modelo de datos

60

CLIENTE_PM ID_CU F_CONSTITUCION NOM_RAZON_SOCIAL CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF ... NUMBER(8) DATE VARCHAR2(80) VARCHAR2(8) DATE VARCHAR2(80) DATE not null not null not null not null not null not null null CLIENTE_PROD_PERFIL ID_CU CVE_PERFIL CVE_PRODUCTO ID_EMPRESA CVE_TIPO_PROM SIT_PROD_PERFIL CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF NUMBER(8) VARCHAR2(6) VARCHAR2(8) NUMBER(8) VARCHAR2(6) VARCHAR2(2) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null null null null not null not null not null null null
FK_CLIENTE__REFERENCE_CAT_PERF CVE_PERFIL = CVE_PERFIL

CAT_PERFIL CVE_PERFIL DESC_PERFIL SIT_PERFIL CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF ... VARCHAR2(6) VARCHAR(60) VARCHAR(4) VARCHAR(8) DATE VARCHAR(8) DATE not null not null not null not null not null null null

CAT_TIPO_PROM
FK_CLIENTE__REF_CT_TP_CAT_TIPO CVE_TIPO_PROM = CVE_TIPO_PROM

FK_CLIENTE__CLIENTE_M_CLIENTE ID_CU = ID_CU

CVE_TIPO_PROM DESC_TIPO_PROM CVE_PROM_REL CVE_USU_ALTA SIT_TIPO_PROM FH_ALTA CVE_USU_MODIF FH_MODIF

VARCHAR2(6) VARCHAR2(60) VARCHAR2(6) VARCHAR2(8) VARCHAR2(4) DATE VARCHAR2(8) DATE

not null not null null not null not null not null null null

LOGS_MIGRA ID_AGRUPA_TEM ID_PERSONA NOMBRE_COMPLETO SIGLAS_RFC FECHA_RFC HOMOCLAVE_RFC NACIONALIDAD TIPO_SEC SIT_ACT_ECO NOMBRE AP_PATERNO AP_MATERNO EDO_CIVIL SEXO D_NAC LUGAR_NAC CURP ACT_EMPRESA TEL_CASA TEL_OFI FAX CONSTITUCION RAZON_SOCIAL OBSEVACIONES CVE_USU FECHA NUMBER(8) NUMBER(8) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(150) varchar2(8) DATE not null not null null null null null null null null null null null null null null null null null null null null null null not null null null

Tablas para el manejo de los y control de ids de la migracion

CAT_TIPO_PROD CVE_TIPO_PRD DESCRIP_TIPO ID_RAMO ID_SUBRAMO CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIFICACION VARCHAR2(4) VARCHAR2(40) NUMBER(8) NUMBER(8) VARCHAR2(6) DATE VARCHAR2(6) DATE not nul l not nul l null null not nul l not nul l null null

CLIENTE_CONVERSION ID_CU ID_PERSONA CVE_USU FECHA number(8) number(8) varchar2(8) date not null not null null null

CLIENTE_PF ID_CU NOMBRE_PERSONA APELLIDO_PATERNO APELLIDO_MATERNO CVE_ESTADO_CIVIL CVE_SEXO F_NACIMIENTO LUGAR_NACIM CURP B_ACTIV_EMPRESA CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF NUMBER(8) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(1) VARCHAR2(1) DATE VARCHAR2(30) VARCHAR2(18) VARCHAR2(1) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null not null null not null not null not null not null null null not null not null null null

FK_CLIENTE__REF_728_CAT_PROD CVE_PRODUCTO = CVE_PRODUCTO ID_EMPRESA = ID_CU
FK_CLIENTE__REFERENCE_CLIENTE ID_CU = ID_CU

CAT_PRODUCTO CVE_PRODUCTO ID_EMPRESA DESC_PRODUCTO NOM_CTO_PROD CVE_TIPO_PRD SIT_PRODUCTO CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF VARCHAR2(8) NUMBER(8) VARCHAR2(255) VARCHAR2(10) VARCHAR2(4) VARCHAR2(2) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null not null null not null not null not null not null null null

CLIENTE_PROD CLIENTE_DOMICILIO ID_CU ID_DOMICILIO CVE_PAIS CVE_ESTADO CVE_CIUDAD CODIGO_POSTAL COLONIA OFICINA_POSTAL CALLE NUM_EXTERIOR NUM_INTERIOR SIT_DOMICILIO CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIFICACION NUMBER(8) NUMBER(6) VARCHAR2(6) VARCHAR2(6) VARCHAR2(6) VARCHAR2(6) VARCHAR2(40) VARCHAR2(6) VARCHAR2(60) VARCHAR2(20) VARCHAR2(20) VARCHAR2(4) VARCHAR2(8) DATE VARCHAR2(8) DATE not nul l not nul l not nul l not nul l not nul l not nul l not nul l nul l not nul l not nul l nul l nul l not nul l not nul l nul l nul l ID_CU CVE_PRODUCTO ID_EMPRESA ID_REFERENCIA_PROD ID_DOMICILIO CVE_SITUACION CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIFICACION NUMBER(8) VARCHAR2(8) NUMBER(8) VARCHAR2(20) NUMBER(6) VARCHAR2(4) VARCHAR2(6) DATE VARCHAR2(6) DATE not null not null not null not null not FK_CLIENTE__REFERENCE_CAT_PROD null null CVE_PRODUCTO = CVE_PRODUCTO ID_EMPRESA = ID_EMPRESA not null not null null null

FK_CAT_PROD_REFERENCE_CAT_TIPO CVE_TIPO_PRD = CVE_TIPO_PRD

CLIENTE ID_CU NOMBRE SIGLAS_RFC F_RFC HOMOCLAVE_RFC CVE_NACIONALIDAD CVE_PER_JURIDICA CVE_TIPO_SECTOR CVE_ACTIV_ECO_SITI SIT_CLIENTE CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF NUMBER(8) VARCHAR2(80) VARCHAR2(4) VARCHAR2(6) VARCHAR2(4) VARCHAR2(6) VARCHAR2(2) VARCHAR2(2) VARCHAR2(8) VARCHAR2(4) VARCHAR2(8) DATE VARCHAR2(8) DATE not nul l not nul l null null null not nul l not nul l not nul l not nul l not nul l not nul l not nul l null null

Esta tabla es para obtener los maximos id de Clientes y de domicilios CAT_IDENTIFICADOR TIPO VARCHAR2(6) not null MAX_IDENTIFICADOR NUMBER(10) not null

CLIENTE_CONV_DOM ID_CU ID_PERSONA ID_DOMICILIO_ANT ID_DOMICILIO_NVO CVE_USU FECHA num ber(8) num ber(8) num ber(8) num ber(8) varchar2(8) date not nul l not nul l not nul l not nul l null null

CLIENTE_DET_PROD ID_CU CVE_PRODUCTO ID_EMPRESA ID_REFERENCIA_PROD I_TIPO_DETALLE CVE_SITUACION DETALLE_STR DETALLE_INT DETALLE_DOB DETALLE_FH CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIFICACION NUMBER(8) VARCHAR2(8) NUMBER(8) VARCHAR2(20) NUMBER(6) VARCHAR2(4) VARCHAR2(400) NUMBER(12) NUMBER(18,2) DATE VARCHAR2(6) DATE VARCHAR2(6) DATE not null not null not null not null not null not null null null null null not null not null null null

LOGS_DOM_MIGRA APLICATIVO ID_APLVO NOMBRE_APLVO STATUS CVE_USU_CREA FECHA_CREACION CVE_USU_MODIF FECHA_MODIF number(5) varchar2(40) varcahr2(1) VARCHAR2(8) DATE varchar2(8) DATE not null not null not null not null not null null null ID_CU ID_PERSONA ID_AGRP_DOM ID_DOMICILIO PAIS ESTADO CIUDAD CP CALLE NUM_EXT OBESERVACIONES CVE_USU FECHA NUMBER(8) NUMBER(8) NUMBER(8) NUMBER(8) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(150) VARCHAR2(1) DATE not nul l not nul l not nul l not nul l null null null null null null not nul l null null

FK_CLIENTE__REF_144_CLIENTE ID_CU = ID_CU

FK_CLIENTE__REFERENCE_CLIENTE_ ID_CU = ID_CU CVE_PRODUCTO = CVE_PRODUCTO ID_EMPRESA = ID_EMPRESA ID_REFERENCIA_PROD = ID_REFERENCIA_PROD

CLIENTE_TELEFONO ID_CU CVE_TIP_TEL CVE_PAIS CVE_LOCAL NUMERO EXTENSION SIT_CTE_TEL CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF NUMBER(8) VARCHAR2(4) VARCHAR2(4) VARCHAR2(4) VARCHAR2(30) VARCHAR2(10) VARCHAR2(4) VARCHAR2(8) DATE VARCHAR2(8) DATE not nul l not nul l not nul l not nul l not nul l null not nul l not nul l not nul l null null

FK_CLIENTE__REFER11_CLIENTE ID_CU = ID_CU

FK_CLIENTE__REF_CLIEN_CLIENTE_ ID_CU = ID_CU ID_DOMICILIO = ID_DOMICILIO FK_CLIENTE__REFERENCE_CAT_SITU CVE_SITUACION = CVE_SITUACION

FK_CLIENTE__REF_80_CLIENTE ID_CU = ID_CU FK_CLIENTE__REF_53_CLIENTE ID_CU = ID_CU CLIENTE_DATO_CTO ID_CU NUMBER(8) not nul l CVE_DATO_CTO VARCHAR2(8) not nul l DATO_STR VARCHAR2(400) null DATO_INT NUMBER(10) null DATO_DOB NUMBER(18,2) null DATO_FH DATE null CVE_USU_ALTA VARCHAR2(8) not nul l FH_ALTA DATE not nul l CVE_USU_MODIF VARCHAR2(8) null ... FK_CLIENTE__REF_84_CAT_DATO CVE_DATO_CTO = CVE_DATO_CTO CAT_DATO_CTO CVE_DATO_CTO DESC_DATO_CTO CVE_USU_ALTA FH_ALTA CVE_USU_MOD FH_MODIF VARCHAR2(8) VARCHAR2(40) VARCHAR2(8) DATE VARCHAR2(8) DATE not nul l not nul l not nul l not nul l null null
FK_CLIENTE_CAT_CAT_TIPO CVE_TIPO_SECTOR = CVE_TIPO_SECTOR

FK_CLIENTE__REFERENCE_CAT_TIPO I_TIPO_DETALLE = I_TIPO_DETALLE

CAT_SITUACION CVE_SITUACION DESC_SITUACION CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF VARCHAR2(4) VARCHAR2(40) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null not null not null null null CAT_TIPO_DETALLE I_TIPO_DETALLE DESC_DETALLE CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIFICACION NUMBER(6) VARCHAR2(60) VARCHAR2(6) DATE VARCHAR2(6) DATE not null not null not null not null null null

CAT_TIPO_SECTOR CVE_TIPO_SECTOR DESCRIPCION_SECTOR CVE_USU_ALTA FH_ALTA CVE_USU_MOD FH_MODIF VARCHAR2(2) VARCHAR2(60) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null not null not null null null

FK_CLIENTE__REF_58_CAT_TIP_ CVE_TIP_TEL = CVE_TIP_TEL

Esta tablas solo se optinen los valores ya que se le da mantenimiento desde otros sisma

CAT_TIP_TEL CVE_TIP_TEL DESC_TIP_TEL SIT_TIP_TEL CVE_USU_ALTA FH_ALTA CVE_USU_MODIF FH_MODIF VARCHAR2(4) VARCHAR2(40) VARCHAR2(4) VARCHAR2(8) DATE VARCHAR2(8) DATE not null not null not null not null not null null null

EMPRESA

POBLACION

61