Á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

Modificar los servicios que devuelven el detalle de una persona para tener en cuenta también las personas no activas, es decir, devolver los datos de detalle de las personas no activas:

  • GET /personas/{id}
  • GET /datos-personales/persona/{id}
  • GET /datos-contacto/persona/{id}
  • GET /vinculaciones/persona/{id}
  • GET /datos-academicos/persona/{id}
  • GET /personas/{id}/fotografia

 

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

  • personalPropio

 

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

  • moviles

 

Se modificar el servicio del alta de persona para que en el caso de que el servicio sea síncrono devuelva el id de la persona creada.

...

Sistema de Gestión Personas

...

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.

personalPropioBooleanIndica si es personal de la Universidad o no (a día de hoy).
activoBooleanIndica si la persona esta activa o no (a día de hoy).
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",
    "personalPropio": false,
    "activo": true
}

...

NombreTipoDescripción
paisContactoPais

Se devuelve la entidad Pais con todos sus campos. Ver definición en UM - SGI - ESB - SGO.

comAutonomaContactoComunidadAutonoma

Se devuelve la entidad ComunidadAutonoma con todos sus campos. Ver definición en UM - SGI - ESB - SGO.

provinciaContactoProvincia

Se devuelve la entidad Provincia con todos sus campos. Ver definición en UM - SGI - ESB - SGO.

ciudadContactoStringCiudad de contacto de la persona.
tipoViaContactoTipoViaTipo de vía de la dirección de contacto de la persona. Se devuelve la entidad TipoVia con todos sus campos. Ver definición en UM - SGI - ESB - SGO.
nombreViaContactoStringNombre de vía de la dirección de contacto de la persona.
numeroViaContactoStringNúmero de vía de la dirección de contacto de la persona.
ampliacionDireccionContactoStringAmpliación de la dirección de contacto de la persona.
codigoPostalContactoStringCódigo postal de la dirección de contacto de la persona.
emailsLista[String]Lista con los email de la persona.
telefonosLista[String]Lista con los teléfonos fijos de la persona.
movilesLista[String]Lista con los teléfonos móviles de la persona.
Bloque de código
languagejava
themeRDark
titleDatosContacto
collapsetrue
{
    "paisContacto": {
       "id":"33",
       "nombre":"España"
     },
    "comAuntonomaContacto": {
       "id":"ca-3",
       "nombre":"Asturias"
     }, 
    "provinciaContacto": {
       "id":"pro-1",
       "nombre":"Asturias"
     }, 
	"ciudadContacto": "Oviedo",
    "tipoViaContacto": {
       "id":"tv-1",
       "nombre":"Calle"
     },
	"nombreViaContacto": "Uría",
	"numeroViaContacto": "4",
	"ampliacionDireccionContacto": "puerta A",
	"codigoPostalContacto": "33005",
    "emails":["prueba@prueba.es","prueba2@prueba.es"],
    "telefonos":["985112233","984445566"],
	"moviles": ["666112233","699445566"]
}

...

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 los siguientes servicios para que devuelva el campo activo en la entidad Persona.

  • GET /personas
  • GET /personas/{id}

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

  • GET /personas/{id}
  • GET /datos-personales/persona/{id}
  • GET /datos-contacto/persona/{id}
  • GET /vinculaciones/persona/{id}
  • GET /datos-academicos/persona/{id}
  • GET /personas/{id}/fotografia

 Modificar los siguientes servicios para que devuelva el campo personalPropio en la entidad Persona.

  • GET /personas
  • GET /personas/{id}

  Modificar los siguientes servicios para que devuelva el campo moviles en la entidad DatosContacto:

  • GET /datos-contacto/persona/{id}

Se modificar el servicio del alta de persona para que en el caso de que el servicio sea síncrono devuelva el id de la persona creada.

  • POST /personas/formly

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

id

Vendrá relleno si la creación es síncrona y no vendrá si es asíncrona.


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 fijos y móviles 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.