Descripción funcional de requisitos de integración
Control de cambios
Leyenda
Nuevo | Modificado | Eliminado |
Historial de cambios
Fecha | Cambios |
---|---|
| Adaptación para poder diferenciar los gastos que han de intervenir en los repartos de regalías del resto y para identificar qué columnas corresponden a los importes a incluir en los repartos. |
Sistema de Gestión Económica de Protección Industrial e Intelectual
Entidades
Cambios
Se actualizan las entidades para:
- Añadir al modelo del SGEPII la entidad Columna, ya que pasa a ser distinta a la del SGE y ya no se podría reutilizar.
Hay entidades que se reutilizan del modelo de Ejecución económica del SGE y pero se repiten aquí por claridad aunque ya están descritas en el API del SGE: SGI - ESB - SGE - Ejecución económica.
Entidad | Descripción |
---|---|
DatoEconomico | Entidad que representa cualquier dato económico. Tendrá que venir identificado por un identificador único, por el proyecto al que pertenece, anualidad, partida presupuestaria y un código económico (opcional en algunos de los casos). El resto de campos del dato económico se tratarán como columnas dinámicas. Se indicará por cada columna el identificador del campo, el nombre del campo y si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador. |
Columna | Contiene el listado de columnas que serán mostradas en las pantallas del SGI dependiendo de la pantalla en la que se esté: gastos o repartos. Por cada columna se tendrá el identificador del campo, el nombre del campo, si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador, que, a los efectos de esta integración para las invenciones, equivaldría a identificar dicha columna como de tipo numéricos y si es la columna (solo puede haber una) que se ha de utilizar para hacer el cálculo del importe a deducir en los repartos de regalías. |
DatoEconomicoDetalle | Entidad que representa el detalle de un dato económico con todos sus campos para mostrarlo en una pantalla de consulta del dato económico. Tendrá unos campos fijos (identificador único, identificador del proyecto al que pertenece, anualidad, partida presupuestaria y un código económico) y unos campos dinámicos. Por cada campo se detallará el nombre y el valor del campo para mostrarlo en la pantalla del SGI |
Invencion | Entidad que representa a la invención cara a poder ser presentada en listas de valores con su título. |
Enumerados
Cambios
Se actualiza la lista de enumerados para:
- Añadir el enumerado TipoOperacion.
Entidad | Descripción |
---|---|
TipoDatoEconomico | Puede tomar los siguientes valores:
|
TipoOperacion | Puede tomar los siguientes valores:
|
Modelo lógico
Cambios
Se actualiza el modelo lógico para:
- Añadir entidad "Columna" como propia del modelo de PII.
- Añadir enumerado "TipoOperacion" y relacionarlo con DatoEconomico.
API
Características generales que todas las API REST deben de cumplir:
Definición de los objetos
Hay objetos que se reutilizan del modelo de Ejecución económica del SGE y por tanto no se repiten aquí, están descritos en el API del SGE: UM - SGI - ESB - SGE - Ejecución económica.
Cambios
Se actualiza la definición de objetos para:
- Añadir objeto "Columna" como propio del modelo de PII.
Invencion
Nombre | Tipo | Descripción |
id | String | Identificador único de la invención. |
titulo | String | Título de la invención. |
DatoEconomico
Nombre | Tipo | Descripción |
id | String | Identificador del dato económico. Tiene que ser un identificador único. |
tipo | String | Dos valores:
|
columnas | Map[clave,valor] | Mapa de propiedades. El valor será un String salvo en aquellas columnas que sean acumulables (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI). |
DatoEconomicoDetalle
Nombre | Tipo | Descripción |
id | String | Identificador del dato económico. Tiene que ser un identificador único. |
documentos | Lista[Documento] | Lista de documentos asociados al gasto (sin el contenido binario del fichero). |
Columna
Nombre | Tipo | Descripción |
id | String | Identificador de la columna |
nombre | String | Nombre de la columna |
acumulable | Boolean | Indica si la columna se puede sumar y por extensión, además indica que es numérica. Dos valores:
|
importeReparto | Boolean | Indica que la columna se corresponde con el importe que se quiere tener en cuenta a la hora de calcular el reparto de regalías. SOLO UNA COLUMNA PODRÁ TENER ESTE CAMPO ACTIVO. Dos valores:
|
Documento (se reutilizaría el mismo que el definido en UM - SGI - ESB - SGE - Ejecución económica)
Nombre | Tipo | Descripción |
id | String | Identificador único del documento |
nombre | String | Nombre del documento a mostrar |
nombreFichero | String | Nombre del fichero con extensión |
Servicios
Hay servicios a los que no se hace mención en este API porque la funcionalidad que los precisa, por ejemplo, la recuperación del binario de cada documento asociado a un gasto, ha de reutilizar los que ya están definidos en el modelo de Ejecución económica del SGE y por tanto no se repiten aquí, están descritos en el API del SGE: UM - SGI - ESB - SGE - Ejecución económica.
Cambios
Se actualiza la definición del servicio GET /gastos-invencion para recibir el nuevo parámetro tipoOperacion.
Método | URL | Parámetros | Respuesta | Descripción |
---|---|---|---|---|
Métodos a los que se llama desde los sistemas de la Universidad | ||||
Invención | ||||
HEAD | /invenciones/{id} | HTTP 200 / HTTP 204 | Comprueba la existencia de la invención con el id indicado en el SGI. (A implementar por Treelogic) | |
GET | /invenciones | q+s (query + sort) La query estará formada por:
| Lista[Invencion] | Listado de todas las invenciones registradas en el SGI. (A implementar por Treelogic) Ejemplo: invencionId=in=(150,151,152) |
Métodos a los que se llama desde el SGI y éstos a su vez llaman a los sistemas de la Universidad | ||||
Gastos | ||||
GET | /gastos-invencion/columnas | q+s (query + sort) La query estará formada por:
| Lista[Columna] | Listado con las columnas que va a devolver la llamada /gastos-invencion. Por cada columna se indica un id, nombre, si es una columna acumulable (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI). Por defecto, devolverá las siguientes columnas:
El tipo de operación |
GET | /gastos-invencion | q+s (query + sort) La query estará formada por:
El tipo de operación puede tomar los siguientes valores:
| Lista[DatoEconomico] | Listado de todos los gastos asociados a una invención. Para cada gasto se devolverán los siguientes datos:
Si el tipo de operación se informa con el valor GAS, se han de devolver todos los gastos asociados a la invención. Si por el contrario el tipo de operación es REP, se han de devolver del conjunto de gastos asociados a la invención únicamente aquellos que se deban tener en cuenta para el reparto de regalías. |
GET | /gastos-invencion/{id} | DatoEconomicoDetalle | Detalle de un gasto. Para cada gasto se devolverán los siguientes datos:
| |
Ingresos | ||||
GET | /ingresos-invencion/columnas | q+s (query + sort) La query estará formada por:
| Lista[Columna] | Listado con las columnas que va a devolver la llamada /ingresos-invencion. El identificador de proyecto a enviar al SGE ha de ser el del proyecto económico en Justo. Por cada columna se indica un id, nombre, si es una columna acumulable (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI). Por defecto, devolverá las siguientes columnas:
|
GET | /ingresos-invencion | q+s (query + sort) La query estará formada por:
| Lista[DatoEconomico] | Listado de todos los ingresos asociados a una invención. La asociación en el SGI se realizará a través de contratos de CSP (proyectos) y el identificador de proyecto a enviar al SGE ha de ser el del proyecto económico en Justo. Los ingresos devueltos se corresponderán con las facturas emitidas asociadas a la invención a través del contrato. Para cada ingreso se devolverán los siguientes datos:
|
Columnas Gastos
id | nombre | acumulable | descripción |
---|---|---|---|
1 | Fecha | false | Fecha de emisión |
2 | Referencia | false | Nº / año factura |
3 | Concepto | false | Descripción de factura |
4 | Tipo | false | Tipo de gasto |
5 | Importe | true | Base imponible |
Columnas Ingresos
id | nombre | acumulable | descripción |
---|---|---|---|
1 | Fecha | false | Fecha de emisión |
2 | Referencia | false | Serie-Nº factura / año factura |
3 | Importe | true | Base imponible |
3 | Nº interno de contrato | false | Identificador del contrato del SGI asociado al ingreso |
4 | Entidad pagadora | false | Nombre del tercero pagador de la factura emitida |
Ejemplos
Columnas de gastos (/gastos-invencion/columnas)
[ { "id": "1" "nombre":"Fecha" "acumulable": "false" }, { "id":"2", "nombre":"Referencia", "acumulable": "false" }, { "id":"3", "nombre":"Concepto", "acumulable": "false" }, { "id":"4", "nombre":"Tipo", "acumulable": "false" }, { "id":"5", "nombre":"Importe", "acumulable": "true" } ]
Gastos (/gastos-invencion)
[ { "id":"1", "tipo":"Gasto", "columnas": { "1":, "2":"F123456", "3":"Informe de patentabilidad", "4":"Honorarios", "5":55.99 } }, { "id":"2", "tipo":"Gasto", "columnas": { "1":, "2":"F123457", "3":"Solicitud de patente", "4":"Tasa", "5":99.99 } } ]
Detalle gasto (/gastos-invencion/{id})
"id":"2", "documentos":[ { "id": "11", "nombre":"Factura", "nombreFichero":"factura.pdf" }, { "id": "12", "nombre":"Otro documento", "nombreFichero":"otroDocumento.pdf" } ]