Á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.

...

Bloque de código
titleCopiarDatosProyectos
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
- campo "Clasificación científica/cvn" toma el valor "Proyectos competitivos" o "Proyectos no competitivos"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 campono "Clasificación científica/cvn" toma el valor "Proyectos competitivos" es contrato) o epigrafeCVN= "050.020.020.000"(si campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos" 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 elno campoes "Clasificación científica/cvn" toma el valor "Proyectos competitivos" un contrato o "050.020.020.000" si tienees el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos" 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 sino eles campoun "Clasificación científica/cvn" toma el valor "Proyectos competitivos" contrato o "050.020.020.010" si tienees el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos"   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 sino eles campo "Clasificación científica/cvn" toma el valor "Proyectos competitivos" un contrato o "050.020.020.180" si tienees el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos"  
    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 sino eles campoun "Clasificación científica/cvn" toma el valor "Proyectos competitivos" contrato o "FECHA_FIN_CONTRATO" si tienees el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos"
    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 sino eles campo "Clasificación científica/cvn" toma el valor "Proyectos competitivos" 
    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 sino eles campo "Clasificación científica/cvn" toma el valor "Proyectos competitivos"un contrato o "050.020.020.200" si tienees el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos"
   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 sino eles campo "Clasificación científica/cvn" toma el valor "Proyectos competitivos"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 sino eles campoun "Clasificación científica/cvn" toma el valor "Proyectos competitivos" contrato o "CUANTIA_COSTES_INDIRECTOS_CONTRATO" si tiene el valor campo "Clasificación científica/cvn" toma el valor "Proyectos no competitivos"es contrato
    - se crea un registro en la tabla "ValorCampo" con el valor de 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.

...