Buscar las invenciones del SGI que cumplan las siguientes condiciones:
- invencióna activa
- titular Universidad entre las fechas de los años que se estan baremando. Para ello mirar la tabla PeriodoTitularidadTitular donde titularRef sea el identificador de la Universidad (mirar variable del módulo de Configuración) , participacion > 0 y las fechas comprendan los años que se están baremando.
- tenga vías de solicitud con fecha de concesión entre el rango de años que se están baremando.
Estas invenciones se crearán o se actualizarán en el módulo de PRC.(actualizar o primero eliminar y crearlos nuevos)
Se busca si ya existe un registro en la tabla ProduccionCientifica con el identificador de la tabla Invencion de PII (idRef), epigrafeCVN=050.030.010.000 y con "convocatoriaBaremacionId" = null.
Si no existe se crean registros en las siguientes tablas y con los siguientes campos:
Tabla ProduccionCientifica y EstadoProduccionCientifica
- idRef: identificador interno de la tabla Invencion de PII
- epigrafeCVN: se introducirá el valor "050.030.010.000"
- estado: se creará un registro en la tabla "EstadoProduccionCientifica" con el campo "estado" igual al valor del enumerado TipoEstadoProduccion.VALIDADO y con fecha, la fecha actual.
- convocatoriaBaremacionId: valor null.
Tabla CampoProduccionCientifica y ValorCampo
Se crearán los siguientes registros en la tabla "CampoProduccionCientifica"
1) - codigoCVN: con valor "050.030.010.020"
- se crea un registro en la tabla "ValorCampo" con el valor del campo "titulo" de la Invención y el orden 1
2) - codigoCVN: con valor "PORCENTAJE_TITULARIDAD"
- se crean tantos registros en la tabla "ValorCampo" con el valor del campo "participacion" de la Invención (tabla PeriodoTitularidadTitular, si son 3 años los que se esta baremando, se pondrán 3 valores a 31 de diciembre de cada año, si uno de los años no hay titularidad, se pondrá el valor 0 en el porcentaje.
3) - codigoCVN: con valor "050.030.010.030"
- se crea un registro en la tabla "ValorCampo" con el valor indicado en el campo "valor" de la tabla "MapeoTipos". Se irá a buscar el identificador del Tipo de protección de la Invención a dicha tabla (idTipoRef), con el campoCVN ="050.030.010.030" y se guardará el dato almacenado en la columna valor. Y el orden 1. (El valor será 109, 122, 126, 141, 177 o OTHERS)
4) - codigoCVN: con valor "050.030.010.320"
- se crean tantos registros en la tabla "ValorCampo" como solicitudes de protección con fechaConcesión se encuentre en el rango de años de baremación. En el campo "valor" se pondrá el valor del campo "fechaConcesion" de la tabla "SolicitudProteccion" y en el orden se irá poniendo 1, 2, 3, etc, por orden ascendente de la fecha de concesión.
5) - codigoCVN: con valor "050.030.010.160"
- se crean tantos registros en la tabla "ValorCampo" como solicitudes de protección con fechaConcesión se encuentre en el rango de años de baremación. En el campo "valor" se pondrá "true" o "false" dependiendo de si el campo "ViaProteccion" asociado a la solicitud es "España" o no y en el orden se irá poniendo 1, 2, 3, etc, por orden ascendente de la fecha de concesión. Para saber si la vía de protección es "España" se irá a buscar en la tabla "MapeoTipos" el campoCVN "050.030.010.160" y en el "idTipoRef" el identificador de la vía de protección. (El valor será true o false)
6) - codigoCVN: con valor "050.030.010.170"
- se crean tantos registros en la tabla "ValorCampo" como solicitudes de protección con fechaConcesión se encuentre en el rango de años de baremación. En el campo "valor" se pondrá "true" o "false" dependiendo de si el campo "ViaProteccion" asociado a la solicitud es "Europea" o no y en el orden se irá poniendo 1, 2, 3, etc, por orden ascendente de la fecha de concesión. Para saber si la vía de protección es "Europea" se irá a buscar en la tabla "MapeoTipos" el campoCVN "050.030.010.170" y en el "idTipoRef" el identificador de la vía de protección. (El valor será true o false)
7) - codigoCVN: con valor "CUANTIA_LICENCIAS"
- se crea un registro en la tabla "ValorCampo" con el valor calculado de "Sumar todos los ingresos de los proyectos relacionados con la invención". Para obtener los ingresos de cada proyecto relacionado a una invención se tendrá que llamar a la API de ESB de PII a los servicios /ingresos-invencion/columnas (para obtener el campo que es el importe, el que tiene el valor "importeReparto" a true) y /ingresos-invencion?q=proyectoId=="XXXXX" , de todos los ingresos se suman el campo indicado como que es el "importeReparto". Esto se hace para todos los contratos relacionados con la invención.
Tabla Autor
Se crearán tantos registros en la tabla "Autor" como investigadores tenga la tabla "InvencionInventor" de la Invención con los siguientes campos:
- firma: se pondrá a null
- personaRef: campo "personaRef" de la tabla "InvencionInventor"
- nombre: se pondrá a null
- apellidos: se pondrá a null
- orden: se pondrá a null
- orcidId: se pondrá a null
- ip: se pondrá a null
Si existe el registro, las tablas ProduccionCientifica y EstadoProduccionCientifica no se modifican y las tablas CampoProduccionCientifica, ValorCampo y Autor se eliminan sus registros y se vuelven a crear con lo mencionado en la parte de cuando no existe el registro.
|