Closed milo19980525 closed 4 months ago
Se agregó el caso para cambiar el periodo_seguimiento_id de planes avalados en la definición de fechas para el proceso de seguimiento en el controlador de formulación y su respectivo helper. En el siguiente commit se puede ver el código: https://github.com/udistrital/planeacion_mid/commit/bdbffad131ef482088329284855e963751ae67bd
Se creó un diagrama de flujo para entender el proceso de definición de fechas para el proceso de formulación y seguimiento en planes de acción de inversión y funcionamiento: Diagrama de Flujo
Prueba de funcionamiento: Para mostrar el funcionamiento se creó un registro de periodo-seguimiento para un periodo_id inexistente, el _id de ese registro se vinculó a un registro de la tabla seguimiento, luego se comprueba que existen ambos registros mencionados en la base de datos y se ejecuta el endpoint de definición de fechas para evidenciar el correcto funcionamiento del código implementado:
Este es el registro de periodo-seguimiento creado:
{
"_id":"663549d73fb75dcdb825bbb9",
"activo":true,
"fecha_fin":"2024-03-31T23:59:59.000Z",
"fecha_inicio":"2024-01-01T00:00:00.000Z",
"periodo_id":"999",
"planes_interes":"[{\"_id\":\"65beee213f5b184abf8a2c53\",\"nombre\":\"Seguimiento PruebaSure\"}]",
"tipo_seguimiento_id":"61f236f525e40c582a0840d0",
"unidades_interes":"[{\"Id\":7,\"Nombre\":\"RECTORIA\"},{\"Id\":14,\"Nombre\":\"FACULTAD DE INGENIERIA\"},{\"Id\":8,\"Nombre\":\"VICERRECTORIA ACADEMICA\"}]",
"usuario_modificacion":"",
"fecha_creacion":"2024-04-29T03:17:38.630Z",
"fecha_modificacion":"2024-05-04T14:03:44.081Z",
"__v":0,
"nueva_estructura":true
}
Este es el registro de seguimiento creado:
{
"_id":"66354a083fb75dcdb825bbba",
"activo":true,
"dato":"{}",
"descripcion":"Seguimiento Seguimiento PruebaSure dependencia VICERRECTORIA ACADEMICA",
"estado_seguimiento_id":"61f237df25e40c57a60840d5",
"fecha_inicio":"2024-01-03T00:00:00.000Z",
"nombre":"Seguimiento para el Seguimiento PruebaSure",
"periodo_seguimiento_id":"663549d73fb75dcdb825bbb9",
"plan_id":"662f0f8717e615569749a748",
"tipo_seguimiento_id":"61f236f525e40c582a0840d0",
"fecha_creacion":"2024-04-30T14:12:47.019Z",
"fecha_modificacion":"2024-05-04T14:03:44.824Z",
"__v":0
}
Y esta es la prueba funcional mediante Postman:
{
"_id": {
"$oid": "64e626aeae466972ad073ae3"
},
"nombre": "Plan de Acción 2024",
"descripcion": "Plan de Acción 2024",
"tipo_plan_id": "61639b8c1634adf976ed4b4c",
"aplicativo_id": "idPlaneacion",
"activo": true,
"formato": true,
"fecha_creacion": {
"$date": "2023-08-23T15:33:02.074Z"
},
"fecha_modificacion": {
"$date": "2023-08-23T15:33:02.074Z"
},
"__v": 0
}
2. plan_update(): Esta función nos permite para agregar campos (nueva_estructura y formato_id) a la colección PLAN 3. get_unidades_interes(): Es una función para obtener todas las unidades_interes 4. periodo_seguimiento_insert(): Es una función para agregar registros con campos (nueva_estructura, unidades_interes planes_interes) obtenidos en pasos anteriores a la colección PERIODO_SEGUIMIENTO 5. get_planes_avalados(): Función para obtener planes_avalados en la vigencia 2024 y con nueva_estructura=true y activo=true 6. get_seguimientos_planes_avalados(): Función de obtención de registros de seguimiento para planes avalados 7. update_seguimientos_planes_avalados(): Función de actualización de registros de seguimiento para planes avalados
prueba_funcional_script_migracion.zip
En el gif anterior se evidencia:
1. Obteniendo plan de acción formato
Conectado correctamente al servidor de MongoDB
Formato Seleccionado: {
_id: new ObjectId('64e626aeae466972ad073ae3'),
nombre: 'Plan de Acción 2024'
}
Cerrando conexión a la base de datos
4. Actualizando planes de acción con el formato obtenido
Conectado correctamente al servidor de MongoDB
38 documentos actualizados
Cerrando conexión a la base de datos
5. Obteniendo unidades de interés
Unidades de interés obtenidas: 80
[{"Id":8,"Nombre":"VICERRECTORIA ACADEMICA"},{"Id":14,"Nombre":"FACULTAD DE INGENIERIA"},{"Id":17,"Nombre":"FACULTAD DE CIENCIAS Y EDUCACION"},{"Id":35,"Nombre":"FACULTAD DE ARTES - ASAB"},{"Id":65,"Nombre":"FACULTAD DE MEDIO AMBIENTE"},{"Id":66,"Nombre":"FACULTAD TECNOLOGICA"},{"Id":232,"Nombre":"FACULTAD DE CIENCIAS MATEMATICAS Y NATURALES"},{"Id":272,"Nombre":"FACULTAD DE CIENCIAS DE LA SALUD"},{"Id":36,"Nombre":"COORDINACION GENERAL DE AUTOEVALUACION Y ACREDITACION"},{"Id":129,"Nombre":"COORDINACION DE LABORATORIOS FACULTAD DEL MEDIO AMBIENTE"},{"Id":130,"Nombre":"COORDINACION DE AUTOEVALUACION Y ACREDITACION FACULTAD DEL MEDIO AMBIENTE"},{"Id":153,"Nombre":"COORDINACION DE AUTOEVALUACION Y ACREDITACION FACULTAD DE CIENCIAS Y EDUCACION"},{"Id":154,"Nombre":"COORDINACION DE AUTOEVALUACION Y ACREDITACION FACULTAD TECNOLOGICA"},{"Id":158,"Nombre":"COORDINACION DE AUTOEVALUACION Y ACREDITACION FACULTAD DE INGENIERIA"},{"Id":165,"Nombre":"COORDINACION DE LABORATORIOS - FACULTAD DE ARTES ASAB"},{"Id":8,"Nombre":"VICERRECTORIA ACADEMICA"},{"Id":15,"Nombre":"VICERRECTORIA ADMINISTRATIVA Y FINANCIERA"},{"Id":33,"Nombre":"OFICINA ASESORA JURIDICA"},{"Id":122,"Nombre":"OFICINA ASESORA DE SISTEMAS"},{"Id":10,"Nombre":"OFICINA ASESORA DE ASUNTOS DISCIPLINARIOS"},{"Id":11,"Nombre":"OFICINA ASESORA DE PLANEACION Y CONTROL"},{"Id":32,"Nombre":"OFICINA ASESORA DE CONTROL INTERNO"},{"Id":93,"Nombre":"OFICINA DE QUEJAS, RECLAMOS Y ATENCION AL CIUDADANO"},{"Id":253,"Nombre":"OFICINA DE CONTROL INTERNO DISCIPLINARIO"},{"Id":254,"Nombre":"OFICINA ASESORA DE TECNOLOGÍAS E INFORMACIÓN"},{"Id":255,"Nombre":"OFICINA ASESORA DE PLANEACIÓN"},{"Id":256,"Nombre":"OFICINA DE CONTROL INTERNO"},{"Id":260,"Nombre":"UNIDAD DE QUEJAS, RECLAMOS Y ATENCIÓN AL CIUDADANO"},{"Id":20,"Nombre":"DIVISION DE RECURSOS HUMANOS"},{"Id":46,"Nombre":"DOCENCIA"},{"Id":7,"Nombre":"RECTORIA"},{"Id":126,"Nombre":"ACADEMIA LUIS A. CALVO - ALAC"},{"Id":44,"Nombre":"DIVISION DE RECURSOS FINANCIEROS"},{"Id":45,"Nombre":"DIVISION DE RECURSOS FISICOS"},{"Id":264,"Nombre":"OFICINA FINANCIERA"},{"Id":265,"Nombre":"OFICINA DE INFRAESTRUCTURA"},{"Id":94,"Nombre":"CENTRO DE RELACIONES INTERINSTITUCIONALES"},{"Id":95,"Nombre":"RED DE DATOS UDNET"},{"Id":43,"Nombre":"CENTRO DE INVESTIGACIONES Y DESARROLLO CIENTIFICO"},{"Id":41,"Nombre":"CENTRO DE BIENESTAR INSTITUCIONAL"},{"Id":257,"Nombre":"UNIDAD DE RELACIONES INTERNACIONALES E INTERINSTITUCIONALES"},{"Id":258,"Nombre":"UNIDAD DE RED DE DATOS UDNET"},{"Id":261,"Nombre":"OFICINA DE INVESTIGACIONES"},{"Id":262,"Nombre":"OFICINA DE BIENESTAR UNIVERSITARIO"},{"Id":67,"Nombre":"INSTITUTO DE LENGUAS - ILUD"},{"Id":81,"Nombre":"INSTITUTO DE ESTUDIOS E INVESTIGACIONES EDUCATIVAS - IEIE"},{"Id":82,"Nombre":"IPAZUD"},{"Id":12,"Nombre":"IDEXUD"},{"Id":117,"Nombre":"UNIDAD DE EXTENSION FACULTAD DE CIENCIAS Y EDUCACION"},{"Id":118,"Nombre":"UNIDAD DE EXTENSION FACULTAD DE INGENIERIA"},{"Id":119,"Nombre":"UNIDAD DE EXTENSION FACULTAD DEL MEDIO AMBIENTE"},{"Id":120,"Nombre":"UNIDAD DE EXTENSION FACULTAD TECNOLOGICA"},{"Id":144,"Nombre":"UNIDAD DE EXTENSION FACULTAD DE ARTES - ASAB"},{"Id":164,"Nombre":"UNIDAD DE INVESTIGACIONES - FACULTAD TECNOLOGICA"},{"Id":167,"Nombre":"RED DE INVESTIGACIONES DE TECNOLOGIA AVANZADA RITA"},{"Id":168,"Nombre":"UNIDAD DE INVESTIGACIONES FACULTAD DE INGENIERIA"},{"Id":125,"Nombre":"DOCTORADO INTERINSTITUCIONAL EN EDUCACION"},{"Id":150,"Nombre":"DOCTORADO EN INGENIERIA"},{"Id":170,"Nombre":"DOCTORADO EN ESTUDIOS SOCIALES"},{"Id":208,"Nombre":"DOCTORADO EN ESTUDIOS ARTISTICOS"},{"Id":9,"Nombre":"SECRETARIA GENERAL"},{"Id":104,"Nombre":"SECRETARIA ACADEMICA FACULTAD DE CIENCIAS Y EDUCACION"},{"Id":105,"Nombre":"SECRETARIA ACADEMICA FACULTAD DE INGENIERIA"},{"Id":106,"Nombre":"SECRETARIA ACADEMICA FACULTAD DEL MEDIO AMBIENTE Y RECURSOS NATURALES"},{"Id":107,"Nombre":"SECRETARIA ACADEMICA FACULTAD TECNOLOGICA"},{"Id":124,"Nombre":"SECRETARIA ACADEMICA FACULTAD DE ARTES - ASAB"},{"Id":1,"Nombre":"UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS"},{"Id":2,"Nombre":"RECTOR"},{"Id":3,"Nombre":"CONVENIOS"},{"Id":172,"Nombre":"OFICINA SE ADMISIONES"},{"Id":222,"Nombre":"SUBSISTEMA DE LA SEGURIDAD Y SALUD EN EL TRABAJO SG-SST"},{"Id":270,"Nombre":"OFICINA DE TALENTO HUMANO"},{"Id":269,"Nombre":"OFICINA DE CONTRATACION"},{"Id":171,"Nombre":"PROYECTO PLANESTIC-UD"},{"Id":96,"Nombre":"SECCION BIBLIOTECA"},{"Id":222,"Nombre":"SUBSISTEMA DE LA SEGURIDAD Y SALUD EN EL TRABAJO SG-SST"},{"Id":97,"Nombre":"SECCION DE ACTAS, ARCHIVO Y MICROFILMACION"},{"Id":209,"Nombre":"INSTITUTO DE INVESTIGACIÓN E INNOVACIÓN EN INGENERÍA -I3+"},{"Id":92,"Nombre":"SECCION DE PUBLICACIONES"},{"Id":42,"Nombre":"CATEDRA UNESCO EN DESARROLLO DEL NINO"}]
6. Insertando periodos de seguimiento
Conectado correctamente al servidor de MongoDB
Documentos Insertados: 4
Cerrando conexión a la base de datos
7. Obteniendo planes de acción avalados con nueva estructura
Conectado correctamente al servidor de MongoDB
Planes Seleccionados: 24
Cerrando conexión a la base de datos
8. Obteniendo seguimientos de planes de acción avalados
Conectado correctamente al servidor de MongoDB
Seguimientos Seleccionados: 92
Cerrando conexión a la base de datos
9. Actualizando seguimientos de planes de acción avalados
Conectado correctamente al servidor de MongoDB
Seguimientos Actualizados: 92
Cerrando conexión a la base de datos
npm install dotenv axios mongodb
iii. Ajustar las variables de entorno en el archivo .env (Dentro del comprimido del script se encuentra un archivo .env.example para conocer la estructura de las variables de entorno)
iv. Comentar el string de conexion a la base de datos en la línea 42 y descomentar el de la línea 41 (Debido a que la base de datos usada en local no tiene credenciales de inicio de sesión para efectos prácticos)Se evidencia el correcto cargue de las fechas antiguas:
Se evidencia el cambio de las fechas antiguas por nuevas fechas: fechas_nuevas.zip
Estos cambios se probaron con la copia de la base de datos de Producción y se evidencia el correcto funcionamiento del código implementado en planeacion_mid. No fue posible probar desde el rol Unidad del ILUD porque solo hay 2 usuarios de prueba y ninguno de ellos es para dicha unidad. Pero se probó el correcto funcionamiento apuntando a la base de datos de desarrollo en el siguiente video:
Se evidencia el correcto cargue de las fechas antiguas:
Se evidencia el cambio de las fechas antiguas por nuevas fechas:
Se evidencia la validación de las fechas nuevas:
Si no realizaba estos cambios, no podría probar el correcto funcionamiento del código ya que aunque apunte a las vigencias y trimestres por código de abreviación, los ID's siempre serán distintos y la base de datos es NoSQL por lo que jamás encontrará registros de planes con la vigencia de producción ni registros de periodo-seguimiento con los periodo_id de producción.
Ni en el Cliente ni en la API CRUD se realizaron más cambios, únicamente los abordados en la parte 1 de esta issue.
Se requiere continuar con el ajuste realizado en #1004 relacionado con la lectura de fechas de planes de acción en formulación y seguimiento, además, de la actualización de las mismas en el módulo de administración.
Especificaciones técnicas
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo