Open diagutierrezro opened 1 week ago
Se solucionaron los siguientes inconvenientes antes de continuar con el flujo del proceso:
Adicionalmente surgieron otros errores:
Al rechazar la solicitud por parte del coordinador de posgrado, se está asignando de manera incorrecta el parametro, ya que se está colocando en estado solicitud el código 4611 que es "Rechazado por Consejo de Carrera" y debe ser 4655 "Rechazada Coordinador Posgrado Opción 1".
Al momento de aprobar la solicitud por parte del coordinador de posgrado y que se vaya a crear el trabajo de grado como tal, se está enviando de manera incorrecta el Payload para que el MID lo interprete de buena manera, el cuál es el siguiente:
{
"RespuestaAnterior": {
"Id": 3931,
"Fecha": "2024-11-14T05:24:00.348-05:00",
"Justificacion": "Aprobación Posgrado",
"EnteResponsable": 0,
"Usuario": 79702248,
"EstadoSolicitud": 4631,
"SolicitudTrabajoGrado": {
"Id": 2006,
"Fecha": "2024-11-14T05:22:50.945-05:00",
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": {
"Id": 0
},
"PeriodoAcademico": "2024-3",
"DatosPersonalesArl": "{\"ciudadNacimiento\":\"\",\"correoPersonal\":\"\",\"direccionResidencia\":\"\",\"eps\":\"\",\"fechaNacimiento\":\"\",\"pasantiaInterna\":false,\"telefono\":\"\"}"
},
"Activo": false
},
"RespuestaNueva": {
"Id": null,
"Fecha": "2024-11-14T15:32:13.292Z",
"Justificacion": "aPROBACIÓN pOSGRADO",
"EnteResponsable": 0,
"Usuario": 52204982,
"Activo": true,
"EstadoSolicitud": 4631, // Debería ser 4654 (Aprobado por Coordinador Posgrado Opción 1)
"SolicitudTrabajoGrado": {
"Id": 2006
}
},
"DocumentoSolicitud": {
"DocumentoEscrito": {
"Id": 458
},
"SolicitudTrabajoGrado": {
"Id": 2006
}
},
"TipoSolicitud": {
"Id": 4634
},
"Vinculaciones": null,
"EstudianteTrabajoGrado": null,
"VinculacionesCancelacion": null,
"TrTrabajoGrado": {
"TrabajoGrado": {
"Titulo": "Espacios Académicos de Posgrado",
"Modalidad": 4602,
"EstadoTrabajoGrado": 4570, // Aquí debería ser 4582 (Trabajo de grado en curso)
"DistincionTrabajoGrado": null,
"PeriodoAcademico": "2024-3"
},
"EstudianteTrabajoGrado": [ // Dato Faltante en el JSON (falta el objeto estudiante)
{
"TrabajoGrado": {
"Id": 0
},
"EstadoEstudianteTrabajoGrado": 4648
}
],
"DocumentoEscrito": null, // Revisar
"DocumentoTrabajoGrado": null, // Revisar
"AreasTrabajoGrado": null, // Revisar
"VinculacionTrabajoGrado": [
{
"Usuario": 52204982,
"Activo": true,
"FechaInicio": "",
"FechaFin": "",
"RolTrabajoGrado": 4597, // (Coordinador Posgrado, se debe hacer una discriminación)
"TrabajoGrado": {
"Id": 0
}
}
],
"AsignaturasTrabajoGrado": [
{
"CodigoAsignatura": 1,
"Periodo": 3,
"Anio": 2024,
"Calificacion": 0,
"TrabajoGrado": {
"Id": 0
},
"EstadoAsignaturaTrabajoGrado": 4658
},
{
"CodigoAsignatura": 2,
"Periodo": 3,
"Anio": 2024,
"Calificacion": 0,
"TrabajoGrado": {
"Id": 0
},
"EstadoAsignaturaTrabajoGrado": 4658
}
]
},
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": null,
"SolicitudTrabajoGrado": {
"Id": 2006,
"Fecha": "2024-11-14T05:22:50.945-05:00",
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": {
"Id": 0
},
"PeriodoAcademico": "2024-3",
"DatosPersonalesArl": "{\"ciudadNacimiento\":\"\",\"correoPersonal\":\"\",\"direccionResidencia\":\"\",\"eps\":\"\",\"fechaNacimiento\":\"\",\"pasantiaInterna\":false,\"telefono\":\"\"}"
},
"EspaciosAcademicos": null, // Revisar
"DetallesPasantia": null,
"TrRevision": null,
"EspaciosAcademicosInscritos": []
}
{
{
"RespuestaAnterior": {
"Id": 3931,
"Fecha": "2024-11-11T07:24:00.348-05:00",
"Justificacion": "Aprobación Posgrado",
"EnteResponsable": 0,
"Usuario": 79702248,
"EstadoSolicitud": 4631,
"SolicitudTrabajoGrado": {
"Id": 2006,
"Fecha": "2024-11-14T05:22:50.945-05:00",
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": {
"Id": 0
},
"PeriodoAcademico": "2024-3",
"DatosPersonalesArl": "{\"ciudadNacimiento\":\"\",\"correoPersonal\":\"\",\"direccionResidencia\":\"\",\"eps\":\"\",\"fechaNacimiento\":\"\",\"pasantiaInterna\":false,\"telefono\":\"\"}"
},
"Activo": false
},
"RespuestaNueva": {
"Id": null,
"Fecha": "2024-11-15T17:53:54.716Z",
"Justificacion": "Aprobado.",
"EnteResponsable": 0,
"Usuario": 52204982,
"Activo": true,
"EstadoSolicitud": 4654,
"SolicitudTrabajoGrado": {
"Id": 2006
}
},
"DocumentoSolicitud": {
"DocumentoEscrito": {
"Id": 458
},
"SolicitudTrabajoGrado": {
"Id": 2006
}
},
"TipoSolicitud": {
"Id": 4634
},
"Vinculaciones": null,
"EstudianteTrabajoGrado": null,
"VinculacionesCancelacion": null,
"TrTrabajoGrado": {
"TrabajoGrado": {
"Titulo": "Espacios Académicos de Posgrado",
"Modalidad": 4602,
"EstadoTrabajoGrado": 4570,
"DistincionTrabajoGrado": null,
"PeriodoAcademico": "2024-3"
},
"EstudianteTrabajoGrado": [
{
"TrabajoGrado": {
"Id": 0
},
"EstadoEstudianteTrabajoGrado": 4648
}
],
"DocumentoEscrito": null,
"DocumentoTrabajoGrado": null,
"AreasTrabajoGrado": null,
"VinculacionTrabajoGrado": [
{
"Usuario": 52204982,
"Activo": true,
"FechaInicio": "",
"FechaFin": "",
"RolTrabajoGrado": 4597,
"TrabajoGrado": {
"Id": 0
}
}
],
"AsignaturasTrabajoGrado": [
{
"CodigoAsignatura": 1,
"Periodo": 3,
"Anio": 2024,
"Calificacion": 0,
"TrabajoGrado": {
"Id": 0
},
"EstadoAsignaturaTrabajoGrado": 4658
},
{
"CodigoAsignatura": 2,
"Periodo": 3,
"Anio": 2024,
"Calificacion": 0,
"TrabajoGrado": {
"Id": 0
},
"EstadoAsignaturaTrabajoGrado": 4658
}
]
},
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": null,
"SolicitudTrabajoGrado": {
"Id": 2006,
"Fecha": "2024-11-14T05:22:50.945-05:00",
"ModalidadTipoSolicitud": {
"Id": 13,
"TipoSolicitud": 4634,
"Modalidad": 4602
},
"TrabajoGrado": {
"Id": 0
},
"PeriodoAcademico": "2024-3",
"DatosPersonalesArl": "{\"ciudadNacimiento\":\"\",\"correoPersonal\":\"\",\"direccionResidencia\":\"\",\"eps\":\"\",\"fechaNacimiento\":\"\",\"pasantiaInterna\":false,\"telefono\":\"\"}"
},
"EspaciosAcademicos": null,
"DetallesPasantia": null,
"TrRevision": null,
"EspaciosAcademicosInscritos": []
}
Se realizan ajustes en el cliente en el controlador aprobar_solicitud.js
for (let i = 0; i < ctrl.detallesSolicitud.length; i++) {
if (ctrl.detallesSolicitud[i].DetalleTipoSolicitud.Detalle.CodigoAbreviacion == "ESPELE" || ctrl.detallesSolicitud[i].DetalleTipoSolicitud.Detalle.CodigoAbreviacion == "ESPELE2") {
respuestaRechazo = "";
if (ctrl.detallesSolicitud[i].DetalleTipoSolicitud.Detalle.CodigoAbreviacion == "ESPELE") {
respuestaAprobado = "ACPO1_PLX"
respuestaRechazo = "RCPO1_PLX"
} else {
respuestaAprobado = "ACPO2_PLX"
respuestaRechazo = "RCPO2_PLX"
}
console.log("ctrl.solicitud", ctrl.solicitud);
parametrosRespuestaSol = $.param({
query: "Activo:true,SolicitudTrabajoGrado:" + ctrl.solicitud,
limit: 0
});
await poluxRequest.get("respuesta_solicitud", parametrosRespuestaSol).then(async function (responseRespuestaSolicitud) {
respuestas = responseRespuestaSolicitud.data.Data;
console.log("respuestas", respuestas);
console.log("ctrl.EstadoSolicitud", ctrl.EstadoSolicitud);
//angular.forEach(respuestas, async function (respuesta) {
if(ctrl.respuestaSolicitud == "ACC_PLX"){
var estadoSolicitud = ctrl.EstadoSolicitud.find(estSol => {
return estSol.CodigoAbreviacion == respuestaAprobado
});
}
else{
var estadoSolicitud = ctrl.EstadoSolicitud.find(estSol => {
return estSol.CodigoAbreviacion == respuestaRechazo
});
}
console.log("estadoSolicitud", estadoSolicitud);
console.log("respuestaAprobado", respuestaAprobado);
console.log("respuestaRechazo", respuestaRechazo);
console.log("click en HTML", ctrl.respuestaSolicitud);
//YA ESTÁ ENTRANDO xd
if (estadoSolicitud.CodigoAbreviacion == respuestaRechazo) {
ctrl.dataRespuesta.RespuestaAnterior.Activo = false;
//ctrl.respuestaSolicitud = resOriginal;
estadoSolicitud = ctrl.EstadoSolicitud.find(estSol => {
return estSol.CodigoAbreviacion == respuestaRechazo
})
ctrl.dataRespuesta.RespuestaNueva.EstadoSolicitud.Id = estadoSolicitud.Id;
await ModificarRespuestas(respuestas);
} else if (estadoSolicitud.CodigoAbreviacion == respuestaAprobado) {
console.log("entrando a respuestaAprobado");
if ((ctrl.prioridad == 1 && ctrl.detallesSolicitud[i].DetalleTipoSolicitud.Detalle.CodigoAbreviacion == "ESPELE") ||
(ctrl.prioridad == 2 && ctrl.detallesSolicitud[i].DetalleTipoSolicitud.Detalle.CodigoAbreviacion == "ESPELE2")) {
ctrl.dataRespuesta.RespuestaAnterior.Activo = false;
//ctrl.respuestaSolicitud = resOriginal;
estadoSolicitud = ctrl.EstadoSolicitud.find(estSol => {
return estSol.CodigoAbreviacion == respuestaAprobado
})
ctrl.dataRespuesta.RespuestaNueva.EstadoSolicitud = estadoSolicitud.Id; // Debe ser 4654 si hay dos coordinadores de posgrado (Aprobado por Coordinador Posgrado Opción 1)
console.log("ctrl.dataRespuesta.RespuestaNueva.EstadoSolicitud", ctrl.dataRespuesta.RespuestaNueva.EstadoSolicitud)
await ModificarRespuestas(respuestas);
} else {
cambioMateriasPosgrado = true;
index = ctrl.detallesSolicitud.indexOf(ctrl.detallesSolicitud[i])
}
}
//});
if (!cambioMateriasPosgrado) {
resolve();
}
});
}
}
Se logra generar la aprobación de la solicitud de modalidad de espacios académicos de posgrado, verificamos los registros de la base de datos y se hacen algunos hallazgos:
Se corrige el estado de la solicitud, en el registro queda el id de aprobado por coordinador posgrado opción 1 Pero en la tabla trabajo_grado se encuentra que el estado_trabajo_grado no se registró con el código correcto, quedó el 4570 que hace referencia a un tg calificado y aprobado, y debe quedar el estado en curso Registra las asignaturas de trabajo de grado correctamente En vinculacion_trabajo_grado quedó registrado el coordinador posgrado que aprobó en este caso
En la tabla estudiante_trabajo_grado el registro quedó con el código del estudiante vacío Y no hubo registro en la tabla areas_trabajo_grado
Se requiere realizar la aprobación por parte de los coordinadores de POSGRADO, es importante tener en cuenta que cuando se da respuesta la solicitud queda en dos estados diferentes según el número de opción que sea y tambien se debe tener en cuenta si la respuesta es aprobado o rechazado ya que según estos estados es que se maneja la transacción mas adelante.
Comparar la transacción actual del mid con la que se tenía antes en el crud para verificar que ya ha sido migrada correctamente o si aún falta por hacer ajustes ya que esta funcionalidad no se probó cuando se estuvo haciendo dicha migración.
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo