Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Info
titleControl de cambios


Leyenda

NuevoModificadoEliminado


Historial de cambios

FechaCambios

 

Adaptaciones a los cambios de operativa y campos para el alta de personas y a la nueva solicitud de modificación de las mismas.

 

Corrección en los tipos de dato de los objetos de tipo Fecha. Estaban con tipo String.

 

Adaptaciones a los cambios en los datos de vinculación de persona a presentar en la pantalla "Ver Detalle".

 

Adaptaciones a los cambios en requisitos de investigadores de que niveles académicos y categorías profesionales sean campos multivalor.

 

Se actualizan los siguientes servicios del API de personas:

  • POST:
    • Se cambia la definición a /personas/formly.
  • PUT:
    • Se cambia la definición a /personas/formly/{id}.
    • Se añade en el JSON el campo personaId para facilitar su identificación.
    • Se cambia el campo areasConocimiento por areaConocimientoId que contendrá el área de conocimiento a la que está adscrita.
    • Se cambian los campos telefonos y emails para que contengan un array "simple" de teléfonos o emails.

Adaptaciones en entidades, objetos y servicios para incorporar los nuevos campos de dirección de contacto de persona:

  • Tipo de vía de contacto
  • Nombre de vía de contacto
  • Número de vía de contacto
  • Ampliación de dirección de contacto

y eliminar el campo previamente existente de dirección de contacto.

 

Nuevo servicio en el API de personas para poder realizar la integración entre la aplicación CVN y el SGI:

  • GET:
    • /personas/modificadas-ids: Devuelve los identificadores de personas que han sufrido cambios en los datos identificativos (nombre, apellidos, sexo, número de documento y tipo de documento) y/o en los datos personales (fecha de nacimiento, país de nacimiento, comunidad autónoma de nacimiento y ciudad de nacimiento) y/o en datos de contacto (país de contacto, comunidad autónoma de contacto, provincia de contacto, ciudad de contacto, dirección de contacto, código postal, listado de teléfonos y listado de emails) y/o en la fotografía a partir de una fecha.

 

Adaptación de la entidad Persona para incorporar el campo nuevo:

  • activo

...

Sistema de Gestión Personas

...

Info
titleCambios

Se actualiza el modelo para:

  • Eliminar entidad "Subcategoría" y su referencia desde "Categoria".
  • Eliminar la referencia a Empresa (Entidad) de la entidad "Vinculacion".
  • Añadir la referencia a Empresa (Entidad) en la entidad "Persona".
  • Añadir la referencia de la entidad Empresa a sí misma.

Se actualiza el modelo para:

  • Eliminar la referencia a Empresa (Entidad) en la entidad "Persona".
  • Añadir en la entidad "Vinculacion" los siguientes campos:
    • Referencia a Empresa (Entidad).
    • Categoría profesional como PDI.
    • Categoría profesional como PAS.
    • Fecha de obtención de categoría profesional como PDI.
    • Fecha de obtención en categoría profesional como PAS.
    • Fecha de fin en categoría profesional como PDI.
    • Fecha de fin en categoría profesional como PAS.
    • Departamento como PDI.
    • Departamento como PAS.
  • Eliminar en la entidad "Vinculacion" los siguientes campos:
    • Categoría profesional.
    • Fecha de obtención de categoría profesional.
    • Departamento.
  • Añadir la nueva entidad "HistoricoVinculacionEmpresa".

 Se modifica el modelo lógico para:

  • Modificación en los campos de la entidad DatosContacto-UM relativos al detalle de dirección de contacto: 
    • Se añaden los campos tipoViaContacto, nombreViaContacto, numeroViaContacto y ampliacionDireccionContacto.
    • Se elimina el campo direccionContacto.
  • Añadir relación de la entidad DatosContacto-UM con la entidad TipoVia del modelo del SGO (Ver UM - SGI - ESB - SGO).

 Se modifica el modelo lógico para:

  • Añadir campo activo en la entidad Persona

Image AddedImage Removed

API

Características generales que todas las API REST deben de cumplir:

...

Info
titleCambios

Se actualizan los objetos para:

  • Eliminar objeto "Subcategoria" y su referencia desde el objeto "Vinculacion".
  • Eliminar la referencia a "Empresa" (Entidad) del objeto "Vinculacion".
  • Añadir la referencia a "Empresa" (Entidad) en el objeto "Persona".

Se actualizan los objetos con campos de tipo fecha (DatosPersonales, Vinculacion y DatosAcademicos) para poner correctamente el tipo Fecha en lugar de String.

Se actualizan los objetos para:

  • Modificar la definición del campo referencia a "Empresa" (Entidad) en el objeto "Persona".
  • Añadir en  "Vinculacion" los siguientes campos:
    • Referencia a Empresa (Entidad).
    • Categoría profesional como PDI.
    • Categoría profesional como PAS.
    • Fecha de obtención de categoría profesional como PDI.
    • Fecha de obtención en categoría profesional como PAS.
    • Fecha de fin en categoría profesional como PDI.
    • Fecha de fin en categoría profesional como PAS.
    • Departamento como PDI.
    • Departamento como PAS.
  • Eliminar en la entidad "Vinculacion" los siguientes campos:
    • Categoría profesional.
    • Fecha de obtención de categoría profesional.
    • Departamento.

  Se modifica la definición de objetos para:

  • Modificaciones en los campos del objeto DatosContacto-UM relativos al detalle de dirección de contacto: 
    • Se añaden tipoViaContacto, nombreViaContacto, numeroViaContacto y ampliacionDireccionContacto.
    • Se elimina direccionContacto.
  • Añadir relación del objeto DatosContacto-UM con el objeto TipoVia.

Se modifica la definición de objetos para:

  • Añadir campo activo en la entidad Persona

Persona

NombreTipoDescripción
idStringIdentificador de la persona.
nombreStringNombre de la persona.
apellidosStringApellidos de la persona.
sexoSexoSe devuelve la entidad Sexo con todos sus campos.
numeroDocumentoStringNúmero de documento de identificación personal.
tipoDocumentoTipoDocumentoSe devuelve la entidad TipoDocumento con todos sus campos.
empresaRefString

Se devuelve el identificador/referencia de la entidad Empresa externa que es la relacionada en la actualidad con la persona, la vigente.

activoBooleanIndica si la persona esta activa o no.
Bloque de código
languagejava
themeRDark
titlePersona
collapsetrue
{
    "id": "per-102",
    "nombre": "Prueba",
    "apellidos": "Apellido1 Apellido2",
    "sexo": {
          "id":"sex-1",
          "nombre":"Mujer"
     },
    "numeroIdentificacion": "11111111H",
    "tipoDocumento": {
            "id":"tp-1",
            "nombre": "NIF"
    },
    "empresaRef": "ent-002"
}

...

Info
titleCambios

Se actualizan los servicios API para:

  • Modificar el funcionamiento del método POST de alta de persona, ahora recibirá más información, toda la indicada por la UM para el alta (recogida en la pantalla de Alta de Persona).
  • Crear 3 nuevos métodos:
    • Solicitar la modificación de los datos de Persona
    • Obtener todos los datos de una persona en JSON para pintar tanto en la pantalla de Modificación como en el Ver Detalle.
    • Obtener listado de sexos a asociar a Persona.
  • Eliminar todos los métodos de alta parcial de datos de Persona por secciones.
  • Eliminar servicio de obtener las subcategorías de una categoría, ya que desaparece el objeto Subcategoría y su referencia desde Categoría.

No son necesarios cambios a nivel del interface o firma de los servicios del API, ya que los cambios a aplicar afectan a los objetos de comunicación y a la lógica de negocio interna a los mismos para aplicar las consideraciones descritas en apartados anteriores.

Se añaden 2 nuevos servicios al API para poder pintar la pantalla de requisitos de equipo de investigación con las nuevas especificaciones de que niveles académicos y categorías profesionales sean campos multivalor.

Se actualizan los siguientes servicios del API de personas:

  • POST:
    • Se cambia la definición a /personas/formly.
  • PUT:
    • Se cambia la definición a /personas/formly/{id}.
    • Se añade en el JSON el campo personaId para facilitar su identificación.
    • Se cambia el campo areasConocimiento por areaConocimientoId que contendrá el área de conocimiento a la que está adscrita.
    • Se cambian los campos telefonos y emails para que contengan un array "simple" de teléfonos o emails

Se actualizan los JSON de los siguientes servicios del API de personas para sustituir el campo direccionContacto por los campos tipoViaContactoId, nombreViaContacto, numeroViaContacto y ampliacionDireccionContacto:

  • POST /personas/formly
  • PUT /personas/formly/{id}
  • GET /personas/formly/{id}

Se añade nuevo servicio:

  • GET personas/modificadas-ids

Modificar el siguiente servicio para que devuelva el campo activo en la entidad Persona y quitar la funcionalidad de que solo se devuelve el detalle una persona que este activa.

  • /personas/{id}

Modificar los siguientes servicios para eliminar la funcionalidad de que solo se devuelve el detalle una persona que este activa:


. persona. persona...

Método

Método

URL

Parámetros

Respuesta

Permisos

Descripción

GET/personas

q+s (query + sort)

La query estará formada por:

  • id
  • colectivoId
  • nombre
  • apellidos
  • numeroDocumento
  • fechaModificacion

Lista[Persona]


Listado de Persona.

Ejemplo:

colectivoId=in=(refPAS,refPDI);(nombre=like=11111111H,apellidos=like=11111111H,numeroDocumento=like=11111111H)

NOTA:

Este método tendrá que ser capaz de responder con una lista de las personas modificadas con posterioridad a la fecha/hora proporcionada en el parámetro fechaModificacion.

La modificación debe incluir altas, actualizaciones y borrados lógicos.

GET/personas/{id}idPersona
Detalle de los datos generales de una persona (este la persona activo o no)
POST/personas/formlyJSON

Recibe como parámetro la respuesta del usuario del formulario de datos básicos de alta (formly) con los campos necesarios para crear una persona.


Bloque de código
languagejava
themeRDark
titleEjemplo de JSON
collapsetrue
{
	"nombre": "nombre de prueba",
	"apellidos": "apellidos de prueba",
	"tipoDocumentoId": "2",
	"numeroDocumento": "07852369Y",
	"sexoId": "2",
	"fechaNacimiento": "1981-05-18",
	"paisNacimientoId": "1",
	"regionNacimientoId": "3",
	"ciudadNacimiento": "Madrid",
	"empresaId": "3",
    "tipoViaContactoId": "3",
    "nombreViaContacto": "Castellana",
    "numeroViaContacto": "123",
    "ampliacionDireccionContacto": "ampliación",
	"paisContactoId": "1",
	"regionContactoId": "2",
	"provinciaContactoId": "10",
	"codigoPostalContacto": "48152",
	"ciudadContacto": "Alcorcón (Madrid)",
	"emails": ["a@prueba.com", "a@prueba.com" ],
    "telefonos": ["666123456","666654321"],
}
Expandir
titleDescripción de campos JSON (pulsa para expandir)...
  • nombre: Nombre
  • apellidos: Apellidos
  • tipoDocumentoId: Id tipo de documento procedente de endpoint /tipos-documento
  • numeroDocumento: Número de documento
  • sexoId: Id sexo procedente de endpoint /sexos
  • fechaNacimiento: Fecha de nacimiento en formato yyyy-MM-dd (Ej: 1981-05-18)
  • paisNacimientoId: Id de pais de nacimiento procedente de endpoint /paises. Ver definición en UM - SGI - ESB - SGO
  • regionNacimientoId: Id de comunidad autónoma de nacimiento procedente de endpoint /comunidades-autonomas. Ver definición en UM - SGI - ESB - SGO
  • ciudadNacimiento: Ciudad de nacimiento
  • empresaId: Id de empresa procedente de endpoint /empresas. Ver definición en UM - SGI - ESB - SGEMP
  • tipoViaContactoId: Id de tipo de vía de contacto. Ver definición en UM - SGI - ESB - SGO
  • nombreViaContacto: Nombre de vía de contacto
  • numeroViaContacto: Número de dirección de contacto
  • ampliacionDireccionContacto: Descripción de ampliación
  • paisContactoId: Id de pais de contacto procedente de endpoint /paises. Ver definición en UM - SGI - ESB - SGO
  • regionContactoId: Id de comunidad autónoma de contacto procedente de endpoint /comunidades-autonomas. Ver definición en UM - SGI - ESB - SGO
  • provinciaContactoId: Id de provincia de contacto procedente de endpoint /provincias. Ver definición en UM - SGI - ESB - SGO
  • codigoPostalContacto: Código postal de contacto
  • ciudadContacto: Ciudad de contacto
  • emails: Array de emails
  • telefonos: Array de teléfonos
PUT/personas/formly/{id}JSON

Recibe como parámetro la respuesta del usuario del formulario de datos de modificación (formly) con los campos necesarios para actualizar una persona.


Bloque de código
languagejava
themeRDark
titleEjemplo de JSON
collapsetrue
{
  "personaId": "1",
  "nombre": "nombre de prueba",
  "apellidos": "apellidos de prueba",
  "tipoDocumentoId": "2",
  "numeroDocumento": "07852369Y",
  "sexoId": "2",
  "fechaNacimiento": "2021-02-14T23:00:00Z",
  "paisNacimientoId": "1",
  "regionNacimientoId": "3",
  "ciudadNacimiento": "Madrid",
  "empresaId": "3",
  "fechaInicioVinculacion": "2021-02-14T23:00:00Z",
  "tipoViaContactoId": "3",
  "nombreViaContacto": "Castellana",
  "numeroViaContacto": "123",
  "ampliacionDireccionContacto": "ampliación",
  "paisContactoId": "1",
  "regionContactoId": "2",
  "provinciaContactoId": "10",
  "codigoPostalContacto": "48152",
  "ciudadContacto": "Alcorcón (Madrid)",
  "emails": ["a@prueba.com", "b@prueba.com"],
  "telefonos": ["666123456","666654321"],
  "areaConocimientoId": "id1",
  "historicosEntidades": [
    {
      "entidad": "entidad 1",
      "inicioVinculacion": "2021-02-14T23:00:00Z",
      "finVinculacion": "2021-02-14T23:00:00Z"
    }
  ],
  "nivelAcademicoId": "1",
  "fechaObtencion": "2021-02-14T23:00:00Z",
  "categoriaPdiId": "1",
  "departamentoPdiId": "2",
  "fechaCategoriaPdi": "2021-02-14T23:00:00Z",
  "fechaFinCategoriaPdi": "2021-02-14T23:00:00Z",
  "categoriaPasId": "2",
  "unidadPasId": "1",
  "fechaCategoriaPas": "2021-02-14T23:00:00Z",
  "fechaFincategoriaPas": "2021-02-14T23:00:00Z"
}
Expandir
titleDescripción de campos JSON (pulsa para expandir)...
  • personaId: Id de persona
  • nombre: Nombre
  • apellidos: Apellidos
  • tipoDocumentoId: Id tipo de documento procedente de endpoint /tipos-documento
  • numeroDocumento: Número de documento
  • sexoId: Id sexo procedente de endpoint /sexos
  • fechaNacimiento: Fecha de nacimiento en formato ISO 8601 en UTC
  • paisNacimientoId: Id de pais de nacimiento procedente de endpoint /paises. Ver definición en UM - SGI - ESB - SGO
  • regionNacimientoId: Id de comunidad autónoma de nacimiento procedente de endpoint /comunidades-autonomas. Ver definición en UM - SGI - ESB - SGO
  • ciudadNacimiento: Ciudad de nacimiento
  • empresaId: Id de empresa procedente de endpoint /empresas. Ver definición en UM - SGI - ESB - SGEMP
  • fechaInicioVinculacion: Fecha de inicio de vinculación en formato ISO 8601 en UTC
  • tipoViaContactoId: Id de tipo de vía de contacto. Ver definición en UM - SGI - ESB - SGO
  • nombreViaContacto: Nombre de vía de contacto
  • numeroViaContacto: Número de dirección de contacto
  • ampliacionDireccionContacto: Descripción de ampliación
  • paisContactoId: Id de pais de contacto procedente de endpoint /paises. Ver definición en UM - SGI - ESB - SGO
  • regionContactoId: Id de comunidad autónoma de contacto procedente de endpoint /comunidades-autonomas. Ver definición en UM - SGI - ESB - SGO
  • provinciaContactoId: Id de provincia de contacto procedente de endpoint /provincias. Ver definición en UM - SGI - ESB - SGO
  • codigoPostalContacto: Código postal de contacto
  • ciudadContacto: Ciudad de contacto
  • emails: Array de emails
  • telefonos: Array de teléfonos
  • areaConocimientoId: Área de conocimiento a la que está adscrita la persona
  • historicosEntidades: Array de histórico de entidades con objetos que refleja la información devuelta por el esb y que tiene la siguiente estructura:

    • entidad: Entidad
    • inicioVinculacion: Inicio de vinculación
    • finVinculacion: Fin de vinculación
  • nivelAcademicoId: Id de nivel académico procedente de endpoint /niveles-academicos
  • fechaObtencion: Fecha de obtención nivel académico en formato ISO 8601en UTC
  • categoriaPdiId: Id de categoría PDI procedente de endpoint /categorias-profesionales
  • departamentoPdiId: Id de departamento
  • fechaCategoriaPdi: Fecha de nacimiento en formato ISO 8601 en UTC
  • fechaFinCategoriaPdi: Fecha de nacimiento en formato ISO 8601 en UTC
  • categoriaPasId: Id de categoría PAS procedente de endpoint /categorias-profesionales
  • unidadPasId: Id de unidad
  • fechaCategoriaPas: Fecha de nacimiento en formato ISO 8601 en UTC
  • fechaFincategoriaPas: Fecha de fin de categoría en formato ISO 8601 en UTC
GET/personas/formly/{id}
JSON

Devuelve los datos a pintar en el formulario de Ver Detalle/Actualizar en el SGI (formly).

Se recibirá el mismo json que en la solicitud de modificación de persona (/personas PUT)


GET/datos-personales/persona/{id}id

DatosPersonales


Detalle de los datos personales de una persona independientemente de que este activa o no la persona (datos de dirección, nacimiento, etc).

GET/datos-contacto/persona/{id}idDatosContacto
Contiene la lista de emails y/o de teléfonos de una persona (independientemente de que este activa o no la persona)

GET/vinculaciones/persona/{id}idVinculacion

Detalle de los datos de vinculación de una

persona (independientemente de que este activa o no la persona)

Ver UM - SGI - ESB - SGP - Adaptaciones integración para su implementación en el SGI.


GET/datos-academicos/persona/{id}idDatosContacto
Contiene el nivel académico de la persona (independientemente de que este activa o no la persona)






GET/colectivos
Lista[Colectivo]

Listado de colectivos ordenados alfabéticamente de forma ascendente.







GET/tipos-documento
Lista[TipoDocumento]
Listado de tipos de documento de identificación personal ordenados alfabéticamente de forma ascendente.

GET/sexos
Lista[Sexo]
Listado de sexos ordenados alfabéticamente de forma ascendente.






GET/categorias-profesionales
Lista[CategoriaProfesional]
Listado de categorías profesionales ordenadas alfabéticamente de forma ascendente.
GET/categorias-profesionales/{id}
CategoriaProfesional
Detalle de la categoría profesional cuyo identificador se indica por parámetro.

GET/niveles-academicos
Lista[NivelAcademico]
Listado de niveles académicos ordenados alfabéticamente de forma ascendente.
GET/niveles-academicos/{id}
NivelAcademico
Detalle del nivel académico cuyo identificador se indica por parámetro.

GET/personas/{id}/fotografiaidFotografia
Detalle de la fotografía digital de la persona (independientemente de que este activa o no la persona)

GET/personas/modificadas-ids

q+s (query + sort)

La query estará formada por:

  • fechaModificacion
Lista[String]

Listado de los identificadores de personas que han sufrido cambios en los datos identificativos (nombre, apellidos, sexo, número de documento y tipo de documento) y/o en los datos personales (fecha de nacimiento, país de nacimiento, comunidad autónoma de nacimiento y ciudad de nacimiento) y/o en datos de contacto (país de contacto, comunidad autónoma de contacto, provincia de contacto, ciudad de contacto, dirección de contacto, código postal, listado de teléfonos y listado de emails) y/o en la fotografía a partir de la fecha de modificación pasada por parámetro.

La modificación debe incluir altas, actualizaciones y borrados lógicos.