feat(9-mejoras): limpieza leads + admin CRUD + calendario + CRM360 FRASA
1. Leads limpiados (207 eliminados, 18 apartados conservados) 2. Round-robin desactivado (config round_robin_habilitado=false) 3. Admin puede borrar/reasignar/mover leads (DELETE/PATCH/POST) 4. Calendario: fechaCita guardada y pasada correctamente 5. Avisos Monday eliminados (BannerModoLocal, ChipPendienteSync, vinculación) 6. Contactos filtrados por usuario asignado 7. Modal bitácora: notas persisten entre fases 8. Fases oportunidades: Agendo→Afluencia→Cotizar→Aparto 9. Toast de nota eliminado en cambios de status 10. Branding: CRM360 FRASA + logo en todas las apps 11. 7 apps construidas
This commit is contained in:
@@ -17,11 +17,19 @@ export type ContactoListaLocal = ContactoMonday & { fuente?: 'local' }
|
||||
* Lista local: Clientes (alta de clientes) + capturas del embudo en boards
|
||||
* OPORTUNIDADES/APARTADO, deduplicados por teléfono (gana el Cliente: tiene la
|
||||
* ficha completa), más reciente primero, máx 100 (como getContactos).
|
||||
* Filtra por usuario actual: clientes capturados por él + leads asignados a él.
|
||||
*/
|
||||
export async function listarContactosLocal(): Promise<ContactoListaLocal[]> {
|
||||
const clientes = await prisma.cliente.findMany({ orderBy: { createdAt: 'desc' }, take: 100 })
|
||||
export async function listarContactosLocal(usuarioId?: string): Promise<ContactoListaLocal[]> {
|
||||
const clientes = await prisma.cliente.findMany({
|
||||
where: usuarioId ? { capturadoPorId: usuarioId } : {},
|
||||
orderBy: { createdAt: 'desc' },
|
||||
take: 100,
|
||||
})
|
||||
const capturas = await prisma.leadCaptura.findMany({
|
||||
where: { board: { in: ['OPORTUNIDADES', 'APARTADO'] } },
|
||||
where: {
|
||||
board: { in: ['OPORTUNIDADES', 'APARTADO'] },
|
||||
...(usuarioId ? { usuarioId } : {}),
|
||||
},
|
||||
orderBy: { updatedAt: 'desc' },
|
||||
take: 100,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user