From cfcedd54527fa33a0814d80b355bf3effb467d25 Mon Sep 17 00:00:00 2001 From: Consult AS Technology Date: Tue, 8 Sep 2026 10:17:37 +0000 Subject: [PATCH] fix(escrituracion): usar todosApartados para que aparezcan los terminales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ResumenMiDia ahora incluye 'todosApartados' (todos los apartados incluyendo terminales como Firma Cliente, Escriturado, etc.) - Escrituración filtra sobre 'todosApartados' en vez de 'misApartados' - Sin esto, Firma Cliente era terminal → se excluía de misApartados → la pestaña Escrituración no lo encontraba --- api-gateway/src/services/mi-dia.service.ts | 15 +++++++++++++++ apps/mi-dia/src/lib/mi-dia.ts | 1 + apps/mi-dia/src/pages/MiDiaPage.tsx | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/api-gateway/src/services/mi-dia.service.ts b/api-gateway/src/services/mi-dia.service.ts index f204e8a..67dd1e3 100644 --- a/api-gateway/src/services/mi-dia.service.ts +++ b/api-gateway/src/services/mi-dia.service.ts @@ -143,6 +143,8 @@ export interface ResumenMiDia { misOportunidades: { porEtapa: Record; items: OportunidadMiDia[] } /** MIS apartados (Vendedor = yo), en estados no finales del pipeline Enkontrol */ misApartados: ApartadoMiDia[] + /** Todos los apartados incluyendo terminales (para Escrituración) */ + todosApartados: ApartadoMiDia[] conteos: { leadsNuevosSemana: number // míos, últimos 7 días naturales actividadesAbiertas: number // mías, Estado Abierto @@ -367,6 +369,18 @@ export async function resumenMiDia( // "Mis apartados": Vendedor = yo, estado no final del pipeline Enkontrol, // por fecha límite ascendente (sin fecha al final) + // Todos los apartados incluyendo terminales (para pestaña Escrituración) + const todosApartados: ApartadoMiDia[] = miosApartados + .map((a) => ({ + id: a.id, + nombre: a.nombre, + unidadCodigo: a.unidadCodigo, + estado: a.estado, + fechaLimite: a.fechaLimite, + ultimoCambio: null as { fechaISO: string; usuario: string | null; detalle: string } | null, + pendienteSync: a.pendienteSync, + })) + const misApartados: ApartadoMiDia[] = miosApartados .map((a) => { const cambio = cambiosApartados.get(a.id) @@ -486,6 +500,7 @@ export async function resumenMiDia( apartadosPorVencer, misOportunidades: { porEtapa, items: itemsOportunidades }, misApartados, + todosApartados, conteos, } diff --git a/apps/mi-dia/src/lib/mi-dia.ts b/apps/mi-dia/src/lib/mi-dia.ts index 5a11a80..73d9114 100644 --- a/apps/mi-dia/src/lib/mi-dia.ts +++ b/apps/mi-dia/src/lib/mi-dia.ts @@ -93,6 +93,7 @@ export interface ResumenMiDia { apartadosPorVencer: ApartadoPorVencer[] misOportunidades: { porEtapa: Record; items: OportunidadMiDia[] } // conteo + lista de trabajo misApartados: ApartadoMiDia[] + todosApartados: ApartadoMiDia[] conteos: { leadsNuevosSemana: number actividadesAbiertas: number diff --git a/apps/mi-dia/src/pages/MiDiaPage.tsx b/apps/mi-dia/src/pages/MiDiaPage.tsx index a9dac77..536e05a 100644 --- a/apps/mi-dia/src/pages/MiDiaPage.tsx +++ b/apps/mi-dia/src/pages/MiDiaPage.tsx @@ -1221,7 +1221,7 @@ export default function MiDiaPage({ accionesSesion }: { accionesSesion: Acciones {(() => { // Filtrar: solo apartados en fases de escrituración o Firma Cliente const FASES_ESCRITURACION_SET = new Set(['SEGUIMIENTO', 'LLAMADA ESCRITURAS', 'X ESCRITURAR', 'BANCO/INFONAVIT', 'X AUTORIZAR', 'ESCRITURADO', 'CANCELO', 'FIRMA CLIENTE', 'ALTA ENKONTROL']) - const apartadosEscrituracion = resumen.misApartados.filter((a) => { + const apartadosEscrituracion = (resumen.todosApartados || resumen.misApartados).filter((a) => { const e = (a.estado ?? '').toUpperCase() return FASES_ESCRITURACION_SET.has(e) || e.includes('SEGUIMIENTO') || e.includes('LLAMADA') || e.includes('ESCRITUR') || e.includes('BANCO') || e.includes('AUTORIZAR') || e.includes('CANCELO') || e.includes('FIRMA') })