Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

feat: restringir envio si existen consolidados pendientes#131

Merged
diagutierrezro merged 1 commit into
developfrom
feature/validacion_envio_consolidado
May 26, 2026
Merged

feat: restringir envio si existen consolidados pendientes#131
diagutierrezro merged 1 commit into
developfrom
feature/validacion_envio_consolidado

Conversation

@Nico-Guz

@Nico-Guz Nico-Guz commented May 25, 2026

Copy link
Copy Markdown
Contributor
  • Convierte accionEnviar en metodo asincrono para verificar preexistencia de datos.
  • Bloquea el PUT si el backend retorna consolidados con estado 'ENV' o aprobado.

udistrital/sga_documentacion_inversion#268

@Nico-Guz Nico-Guz requested a review from diagutierrezro May 25, 2026 23:37
Copilot AI review requested due to automatic review settings May 25, 2026 23:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR busca restringir el envío de un consolidado desde la vista de gestión, realizando una verificación previa contra el backend para evitar envíos cuando ya existen consolidados “pendientes” para el mismo periodo/proyecto.

Changes:

  • Convierte accionEnviar en un método async para poder consultar al backend antes de ejecutar el PUT.
  • Obtiene el estado ENV desde el catálogo de estados y consulta consolidado(s) existentes en ese estado para el mismo periodo/proyecto.
  • Bloquea el envío mostrando un modal informativo si detecta otro consolidado “enviado”.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +351 to +377
// Obtener el id del estado 'ENV'
const estadoEnv = this.estadosConsolidado.opciones.find(
(estado) => estado.codigo_abreviacion === "ENV"
);
putPlan.estado_consolidado_id = estado._id;
if (!estadoEnv) {
this.popUpManager.showErrorAlert(
this.translate.instant("ptd.fallo_actualizar_consolidado")
);
return;
}

// Verificar que no exista otro consolidado en estado 'ENV' para mismo periodo y proyecto
try {
const periodoId = consolidado.periodo_id || this.periodos.select?.Id;
const proyectoId = consolidado.proyecto_academico_id || this.proyectos.select?.Id || 0;
const query = `consolidado_docente?query=activo:true,periodo_id:${periodoId},proyecto_academico_id:${proyectoId},estado_consolidado_id:${estadoEnv._id}&limit=0`;
const resp: any = await firstValueFrom(this.planTrabajoDocenteService.get(query));
const existentes: any[] = resp?.Data ?? [];
const otrosEnviados = existentes.filter((c: any) => String(c._id) !== String(consolidado._id));
if (otrosEnviados.length > 0) {
this.popUpManager.showPopUpGeneric(
"",
"Ya existe otro consolidado en estado 'Enviado' para este periodo y proyecto. No es posible realizar el envío.",
MODALS.INFO,
false
);
return;
// Verificar que no exista otro consolidado en estado 'ENV' para mismo periodo y proyecto
try {
const periodoId = consolidado.periodo_id || this.periodos.select?.Id;
const proyectoId = consolidado.proyecto_academico_id || this.proyectos.select?.Id || 0;
@diagutierrezro diagutierrezro merged commit bcc0acb into develop May 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants