fix(impuestos): desactivar JIT en queries con subplans correlacionados
- Agrega helper withJitOff en impuestos.service.ts - Ejecuta getResumenIva, getIvaMensual y readResumenIvaFromCache con SET LOCAL jit = off - Evita compilación JIT de ~17s en queries con costo estimado alto feat(contribuyentes): auto-asignar a cartera del supervisor - Al crear contribuyente con supervisorUserId, se agrega automáticamente a todas las carteras top-level del supervisor feat(permisos): restricciones de UI por rol en contribuyentes - Oculta botón Add-ons para roles distintos de owner/cfo - Oculta botón Eliminar contribuyente para no-owner - Oculta botón Agregar RFC para auxiliar/visor/cliente/contador feat(cfdi): ver CFDI desde conceptos y forma de pago en Excel - Agrega botón Ver CFDI en cada fila de la tabla de Conceptos - Agrega columna Forma de Pago en export Excel de CFDIs - Agrega columna Forma de Pago en export individual de CFDI chore(migraciones): índices GIN para relaciones de activos - 048: índices btree parciales para activos - 049: índices GIN para cfdis_relacionados y uuid_relacionado
This commit is contained in:
11
apps/api/src/migrations/tenant/048_cfdis_activos_indices.sql
Normal file
11
apps/api/src/migrations/tenant/048_cfdis_activos_indices.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- Índices para acelerar los filtros de "Considerar activos" en Impuestos.
|
||||
|
||||
-- Lookup rápido de facturas tipo I con uso de activo fijo
|
||||
CREATE INDEX IF NOT EXISTS idx_cfdis_tipo_uso_activos
|
||||
ON cfdis(tipo_comprobante, uso_cfdi)
|
||||
WHERE tipo_comprobante = 'I' AND uso_cfdi IN ('I01','I02','I03','I04','I05','I06','I07','I08');
|
||||
|
||||
-- Filtrar E's que tienen relacionados (reduce el universo del anti-join)
|
||||
CREATE INDEX IF NOT EXISTS idx_cfdis_tipo_relacionados
|
||||
ON cfdis(tipo_comprobante)
|
||||
WHERE cfdis_relacionados IS NOT NULL;
|
||||
11
apps/api/src/migrations/tenant/049_cfdis_relaciones_gin.sql
Normal file
11
apps/api/src/migrations/tenant/049_cfdis_relaciones_gin.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- Índices GIN para acelerar búsquedas de activos en cfdis_relacionados y uuid_relacionado.
|
||||
-- El filtro "Considerar activos" usa string_to_array(..., '|') para buscar UUIDs
|
||||
-- relacionados; el índice GIN permite búsquedas @> y ANY eficientes sobre arrays.
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_cfdis_relacionados_gin
|
||||
ON cfdis USING gin(string_to_array(LOWER(cfdis_relacionados), '|'))
|
||||
WHERE cfdis_relacionados IS NOT NULL;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_cfdis_uuid_relacionado_gin
|
||||
ON cfdis USING gin(string_to_array(LOWER(uuid_relacionado), '|'))
|
||||
WHERE uuid_relacionado IS NOT NULL;
|
||||
Reference in New Issue
Block a user