fix(escrituracion): usar todosApartados para que aparezcan los terminales

- 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
This commit is contained in:
2026-09-08 10:17:37 +00:00
parent 06ec2a6f7f
commit cfcedd5452
3 changed files with 17 additions and 1 deletions

View File

@@ -143,6 +143,8 @@ export interface ResumenMiDia {
misOportunidades: { porEtapa: Record<string, number>; items: OportunidadMiDia[] } misOportunidades: { porEtapa: Record<string, number>; items: OportunidadMiDia[] }
/** MIS apartados (Vendedor = yo), en estados no finales del pipeline Enkontrol */ /** MIS apartados (Vendedor = yo), en estados no finales del pipeline Enkontrol */
misApartados: ApartadoMiDia[] misApartados: ApartadoMiDia[]
/** Todos los apartados incluyendo terminales (para Escrituración) */
todosApartados: ApartadoMiDia[]
conteos: { conteos: {
leadsNuevosSemana: number // míos, últimos 7 días naturales leadsNuevosSemana: number // míos, últimos 7 días naturales
actividadesAbiertas: number // mías, Estado Abierto actividadesAbiertas: number // mías, Estado Abierto
@@ -367,6 +369,18 @@ export async function resumenMiDia(
// "Mis apartados": Vendedor = yo, estado no final del pipeline Enkontrol, // "Mis apartados": Vendedor = yo, estado no final del pipeline Enkontrol,
// por fecha límite ascendente (sin fecha al final) // 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 const misApartados: ApartadoMiDia[] = miosApartados
.map((a) => { .map((a) => {
const cambio = cambiosApartados.get(a.id) const cambio = cambiosApartados.get(a.id)
@@ -486,6 +500,7 @@ export async function resumenMiDia(
apartadosPorVencer, apartadosPorVencer,
misOportunidades: { porEtapa, items: itemsOportunidades }, misOportunidades: { porEtapa, items: itemsOportunidades },
misApartados, misApartados,
todosApartados,
conteos, conteos,
} }

View File

@@ -93,6 +93,7 @@ export interface ResumenMiDia {
apartadosPorVencer: ApartadoPorVencer[] apartadosPorVencer: ApartadoPorVencer[]
misOportunidades: { porEtapa: Record<string, number>; items: OportunidadMiDia[] } // conteo + lista de trabajo misOportunidades: { porEtapa: Record<string, number>; items: OportunidadMiDia[] } // conteo + lista de trabajo
misApartados: ApartadoMiDia[] misApartados: ApartadoMiDia[]
todosApartados: ApartadoMiDia[]
conteos: { conteos: {
leadsNuevosSemana: number leadsNuevosSemana: number
actividadesAbiertas: number actividadesAbiertas: number

View File

@@ -1221,7 +1221,7 @@ export default function MiDiaPage({ accionesSesion }: { accionesSesion: Acciones
{(() => { {(() => {
// Filtrar: solo apartados en fases de escrituración o Firma Cliente // 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 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() 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') 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')
}) })