...
Bloque de código | ||
---|---|---|
| ||
Buscar los proyectos del SGI que cumplan las siguientes condiciones: - activo - estado Concedido - que no sea externo (el modelo de ejecución al que pertenece tiene el flag externo a false) - fechas de inicio y fin del proyecto contenga los años que se estan baremando - es contrato o proyecto (es contrato si modelo de ejecución tiene el flag contrato = true y si lo tiene a false es un proyecto) Estos proyectos 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 Proyecto de CSP (idRef), epigrafeCVN= "050.020.010.000"(si no es contrato) o epigrafeCVN= "050.020.020.000"(si es contrato ) 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 Proyecto de CSP - epigrafeCVN: se introducirá el valor "050.020.010.000" si no es un contrato o "050.020.020.000" si es un contrato - 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.020.010.010" si no es un contrato o "050.020.020.010" si es un contrato - se crea un registro en la tabla "ValorCampo" con el valor del campo "titulo" del Proyecto y el orden 1 2) - codigoCVN: con valor "050.020.010.270" si no es un contrato o "050.020.020.180" si es un contrato - se crea un registro en la tabla "ValorCampo" con el valor del campo "fechaInicio" del Proyecto y el orden 1 3) - codigoCVN: con valor "050.020.010.410" si no es un contrato o "FECHA_FIN_CONTRATO" si es un contrato - se crea un registro en la tabla "ValorCampo" con el valor del campo "fechaFinDefinitiva" del Proyecto si esta informada y sino el campo "fechaFin" del Proyecto y el orden 1 4) - codigoCVN: con valor "050.020.010.040" si no es un contrato - 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 ámbito geográfico del proyecto a dicha tabla (idTipoRef), con el campoCVN ="050.020.010.040" y se guardará el dato almacenado en la columna valor. Y el orden 1. (El valor será 000, 010, 020, 030 o OTHERS) 5) - codigoCVN: con valor "050.020.010.290" si no es un contrato o "050.020.020.200" si es un contrato - se crea un registro en la tabla "ValorCampo" con el valor del campo "totalImporteConcedido" si viene informado en la entidad Proyecto y sino será la suma del campo "totalGastosConcedido" de todos los registros de la entidad ProyectoAnanualidad del Proyecto. Y orden 1. 6) - codigoCVN: con valor "CONVOCATORIA_EXCELENCIA" si no es un contrato. - se crea un registro en la tabla "ValorCampo" con el valor del campo "convocatoriaExcelencia" del Proyecto y el orden 1 7) - codigoCVN: con valor "CUANTIA_COSTES_INDIRECTOS_PROYECTO" si no es un contrato o "CUANTIA_COSTES_INDIRECTOS_CONTRATO" si es contrato - se crea un registro en la tabla "ValorCampo" con el valor dedel campo "importeConcedidoCostesIndirectos" si viene informado en la entidad Proyecto y sino será la suma del campo "importeConcedido" de todos los registros de la entidad AnualidadGasto que tenga un "conceptoGasto" con el flag de "costesIndirectos" a "true" del Proyecto. Y orden 1. Tabla Autor Se crearán tantos registros en la tabla "Autor" como investigadores tenga la tabla "ProyectoEquipo" del Proyecto con los siguientes campos: - firma: se pondrá a null - personaRef: campo "personaRef" de la tabla "ProyectoEquipo" - nombre: se pondrá a null - apellidos: se pondrá a null - orden: se pondrá a null - orcidId: se pondrá a null - fechaInicio: campo "fechaInicio" de la tabla "ProyectoEquipo" - fechaFin: campo "fechaFin" de la tabla "ProyectoEquipo" - ip: se pondrá a "true" si el campo "rolProyecto" es un rol que tenga marcado el flag de "principal", sino se pondrá el valor "false" 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. |
...