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

...