diff --git a/server/dequenes_responses/legal_events_76415480_1779477676.json b/server/dequenes_responses/legal_events_76415480_1779477676.json
deleted file mode 100644
index c3d2c50..0000000
--- a/server/dequenes_responses/legal_events_76415480_1779477676.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "rut": "76415480",
- "events": [],
- "cached": true,
- "timestamp": "2026-05-22T19:21:16.446777",
- "constitution_date": null
-}
\ No newline at end of file
diff --git a/server/dequenes_responses/legal_events_76415480_1779478085.json b/server/dequenes_responses/legal_events_76415480_1779478085.json
deleted file mode 100644
index 1961db4..0000000
--- a/server/dequenes_responses/legal_events_76415480_1779478085.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "rut": "76415480",
- "events": [],
- "cached": true,
- "timestamp": "2026-05-22T19:28:05.250827",
- "constitution_date": null
-}
\ No newline at end of file
diff --git a/server/dequenes_responses/relationships_76415480_1779477676.json b/server/dequenes_responses/relationships_76415480_1779477676.json
deleted file mode 100644
index 976d21b..0000000
--- a/server/dequenes_responses/relationships_76415480_1779477676.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "pathCount": 22,
- "relationships": [
- {
- "source": "76415480",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2005-12-13",
- "source": "SII_REP"
- }
- },
- {
- "source": "76415480",
- "target": "10474151",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6345160",
- "doh_extraction_id": "461832",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6345160",
- "published_at": "2004-05-22",
- "url": "https://www.diariooficial.interior.gob.cl/media/2004/05/22/do-20040522.pdf"
- }
- },
- {
- "source": "76415480",
- "target": "11550027",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6345160",
- "doh_extraction_id": "461832",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6345160",
- "published_at": "2004-05-22",
- "url": "https://www.diariooficial.interior.gob.cl/media/2004/05/22/do-20040522.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 26,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76052565",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 15,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76103603",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 100,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "99516680",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2003-03-28",
- "source": "SII_REP"
- }
- },
- {
- "source": "76657450",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-01-25",
- "source": "SII_REP"
- }
- },
- {
- "source": "76145086",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2011-05-12",
- "source": "SII_REP"
- }
- },
- {
- "source": "76103603",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-07-07",
- "source": "SII_REP"
- }
- },
- {
- "source": "76145086",
- "target": "11550027",
- "label": "OWNED_BY",
- "information_source": {
- "match_type": "bt",
- "source": "DOH",
- "published_at": "2011-02-02",
- "doh_id": "7208282",
- "url": "https://www.diariooficial.interior.gob.cl/media/2011/02/02/do-20110202.pdf"
- }
- },
- {
- "source": "96944720",
- "target": "10474151",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-01-25",
- "source": "SII_REP"
- }
- },
- {
- "source": "96944720",
- "target": "10474151",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6012540",
- "doh_extraction_id": "585051",
- "shares_percent": 40,
- "source": "DOH",
- "doh_id": "6012540",
- "published_at": "2001-06-20",
- "url": "https://www.diariooficial.interior.gob.cl/media/2001/06/20/do-20010620.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6609682",
- "doh_extraction_id": "725944",
- "shares_percent": 26,
- "source": "DOH",
- "doh_id": "6609682",
- "published_at": "2006-09-21",
- "url": "https://www.diariooficial.interior.gob.cl/media/2006/09/21/do-20060921.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "78595830",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6609682",
- "doh_extraction_id": "725944",
- "shares_percent": 26,
- "source": "DOH",
- "doh_id": "6609682",
- "published_at": "2006-09-21",
- "url": "https://www.diariooficial.interior.gob.cl/media/2006/09/21/do-20060921.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 26,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76052565",
- "target": "11736590",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2009-04-02",
- "source": "SII_REP"
- }
- },
- {
- "source": "76052565",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6986535",
- "doh_extraction_id": "343796",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6986535",
- "published_at": "2009-03-07",
- "url": "https://www.diariooficial.interior.gob.cl/media/2009/03/07/do-20090307.pdf"
- }
- },
- {
- "source": "76052565",
- "target": "78595830",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6986535",
- "doh_extraction_id": "343796",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6986535",
- "published_at": "2009-03-07",
- "url": "https://www.diariooficial.interior.gob.cl/media/2009/03/07/do-20090307.pdf"
- }
- },
- {
- "source": "76052565",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 35,
- "source": "SII_REC_COM"
- }
- }
- ],
- "entityNames": {
- "10474151": "ORELIA ANDREA WOOD FLORES",
- "11550027": "CARLOS ALEJANDRO MUNOZ BAEZ",
- "11736590": "EDUARDO ANDRES KAFTANSKI ARANCIBIA",
- "76052565": "LINUXCENTER SOCIEDAD ANONIMA",
- "76103603": "FORMACION DIGITAL SPA",
- "76145086": "LINUX LATINAMERICA SOCIEDAD ANONIMA",
- "76415480": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "76657450": "LINUXCENTER LATINOAMERICA SOCIEDAD ANONIMA",
- "77699370": "INVERSIONES KACT LIMITADA",
- "78595830": "INVERSIONES WOOD LIMITADA",
- "96944720": "CENTRO LINUX S A",
- "99516680": "GLOBAL TRAINING S A"
- },
- "_cache_info": {
- "cached": true,
- "cache_key": "dequienes_cache:dequienes_relationships:44e208e6756fd87de10e4da1c1fb7751b4cc887607ae3cdfd02c58cd53fc99f2",
- "retrieved_at": "2026-05-22T19:21:16.436841"
- }
-}
\ No newline at end of file
diff --git a/server/dequenes_responses/relationships_76415480_1779478085.json b/server/dequenes_responses/relationships_76415480_1779478085.json
deleted file mode 100644
index 577c7a0..0000000
--- a/server/dequenes_responses/relationships_76415480_1779478085.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "pathCount": 22,
- "relationships": [
- {
- "source": "76415480",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2005-12-13",
- "source": "SII_REP"
- }
- },
- {
- "source": "76415480",
- "target": "10474151",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6345160",
- "doh_extraction_id": "461832",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6345160",
- "published_at": "2004-05-22",
- "url": "https://www.diariooficial.interior.gob.cl/media/2004/05/22/do-20040522.pdf"
- }
- },
- {
- "source": "76415480",
- "target": "11550027",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6345160",
- "doh_extraction_id": "461832",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6345160",
- "published_at": "2004-05-22",
- "url": "https://www.diariooficial.interior.gob.cl/media/2004/05/22/do-20040522.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 26,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76052565",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 15,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76103603",
- "target": "76415480",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 100,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "99516680",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2003-03-28",
- "source": "SII_REP"
- }
- },
- {
- "source": "76657450",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-01-25",
- "source": "SII_REP"
- }
- },
- {
- "source": "76145086",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2011-05-12",
- "source": "SII_REP"
- }
- },
- {
- "source": "76103603",
- "target": "11550027",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-07-07",
- "source": "SII_REP"
- }
- },
- {
- "source": "76145086",
- "target": "11550027",
- "label": "OWNED_BY",
- "information_source": {
- "match_type": "bt",
- "source": "DOH",
- "published_at": "2011-02-02",
- "doh_id": "7208282",
- "url": "https://www.diariooficial.interior.gob.cl/media/2011/02/02/do-20110202.pdf"
- }
- },
- {
- "source": "96944720",
- "target": "10474151",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2010-01-25",
- "source": "SII_REP"
- }
- },
- {
- "source": "96944720",
- "target": "10474151",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6012540",
- "doh_extraction_id": "585051",
- "shares_percent": 40,
- "source": "DOH",
- "doh_id": "6012540",
- "published_at": "2001-06-20",
- "url": "https://www.diariooficial.interior.gob.cl/media/2001/06/20/do-20010620.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6609682",
- "doh_extraction_id": "725944",
- "shares_percent": 26,
- "source": "DOH",
- "doh_id": "6609682",
- "published_at": "2006-09-21",
- "url": "https://www.diariooficial.interior.gob.cl/media/2006/09/21/do-20060921.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "78595830",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6609682",
- "doh_extraction_id": "725944",
- "shares_percent": 26,
- "source": "DOH",
- "doh_id": "6609682",
- "published_at": "2006-09-21",
- "url": "https://www.diariooficial.interior.gob.cl/media/2006/09/21/do-20060921.pdf"
- }
- },
- {
- "source": "76657450",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 26,
- "source": "SII_REC_COM"
- }
- },
- {
- "source": "76052565",
- "target": "11736590",
- "label": "REPRESENTED_BY",
- "information_source": {
- "started_at": "2009-04-02",
- "source": "SII_REP"
- }
- },
- {
- "source": "76052565",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6986535",
- "doh_extraction_id": "343796",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6986535",
- "published_at": "2009-03-07",
- "url": "https://www.diariooficial.interior.gob.cl/media/2009/03/07/do-20090307.pdf"
- }
- },
- {
- "source": "76052565",
- "target": "78595830",
- "label": "OWNED_BY",
- "information_source": {
- "pub_id": "doh_id_6986535",
- "doh_extraction_id": "343796",
- "shares_percent": 50,
- "source": "DOH",
- "doh_id": "6986535",
- "published_at": "2009-03-07",
- "url": "https://www.diariooficial.interior.gob.cl/media/2009/03/07/do-20090307.pdf"
- }
- },
- {
- "source": "76052565",
- "target": "77699370",
- "label": "OWNED_BY",
- "information_source": {
- "shares_percent": 35,
- "source": "SII_REC_COM"
- }
- }
- ],
- "entityNames": {
- "10474151": "ORELIA ANDREA WOOD FLORES",
- "11550027": "CARLOS ALEJANDRO MUNOZ BAEZ",
- "11736590": "EDUARDO ANDRES KAFTANSKI ARANCIBIA",
- "76052565": "LINUXCENTER SOCIEDAD ANONIMA",
- "76103603": "FORMACION DIGITAL SPA",
- "76145086": "LINUX LATINAMERICA SOCIEDAD ANONIMA",
- "76415480": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "76657450": "LINUXCENTER LATINOAMERICA SOCIEDAD ANONIMA",
- "77699370": "INVERSIONES KACT LIMITADA",
- "78595830": "INVERSIONES WOOD LIMITADA",
- "96944720": "CENTRO LINUX S A",
- "99516680": "GLOBAL TRAINING S A"
- },
- "_cache_info": {
- "cached": true,
- "cache_key": "dequienes_cache:dequienes_relationships:44e208e6756fd87de10e4da1c1fb7751b4cc887607ae3cdfd02c58cd53fc99f2",
- "retrieved_at": "2026-05-22T19:28:05.240585"
- }
-}
\ No newline at end of file
diff --git a/server/sheriff_v2_response/76415480-0_20260522T192805Z.json b/server/sheriff_v2_response/76415480-0_20260522T192805Z.json
deleted file mode 100644
index f932ab1..0000000
--- a/server/sheriff_v2_response/76415480-0_20260522T192805Z.json
+++ /dev/null
@@ -1,820 +0,0 @@
-{
- "success": true,
- "cargarRut": {
- "success": true,
- "data": [
- "76415480-0"
- ]
- },
- "resumen": {
- "success": true,
- "data": {
- "rut": "76415480-0",
- "esPersonaJuridica": true,
- "fechaCarga": "20-05-2026",
- "identificacion": {
- "razonSocial": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "presentaActividades": "SI",
- "inicioActividades": "13-12-2005",
- "autorizadoMonedaExtranjera": "NO",
- "empresaMenor": "SI",
- "observaciones": "Recomendación GeneralComo recomendación general, siempre que se realicen transacciones comerciales con cualquier contribuyente, el SII aconseja verificar, en las opciones anteriores habilitadas, el timbraje del documento y que la actividad económica esté vigente en las bases de datos del Servicio. Además, se recomienda verificar que el domicilio y la actividad económica consignados en la factura o boleta que reciba, correspondan al vendedor o prestador del servicio ofrecido. Para un mayor resguardo, se recomienda efectuar el pago con cheque nominativo o vale vista a favor del proveedor, anotando al reverso el RUT del emisor y número del documento recibido.",
- "notas": "Si el contribuyente correspondiente al RUT consultado, no está de acuerdo o desconoce la situación informada en esta consulta, deberá concurrir a la unidad del SII correspondiente a su domicilio para aclarar o resolver su situación.Esta consulta no constituye una certificación del comportamiento tributario del contribuyente. De esta manera, si para un RUT no aparecen observaciones, no significa que en una posterior auditoría no se detecten problemas.",
- "situacionActual": "No se encuentra en la nómina de difícil fiscalización",
- "actividadEconomicaVigente": [
- {
- "actividades": "VENTA AL POR MENOR DE OTROS PRODUCTOS EN COMERCIOS ESPECIALIZADOS N.C.",
- "codigo": "477399",
- "categoria": "Primera",
- "afectaIva": "Si",
- "fecha": "24-11-2017"
- },
- {
- "actividades": "ALQUILER DE BIENES INMUEBLES AMOBLADOS O CON EQUIPOS Y MAQUINARIAS",
- "codigo": "681011",
- "categoria": "Primera",
- "afectaIva": "Si",
- "fecha": "13-12-2005"
- },
- {
- "actividades": "OTRAS ACTIVIDADES DE SERVICIOS DE APOYO A LAS EMPRESAS N.C.P.",
- "codigo": "829900",
- "categoria": "Primera",
- "afectaIva": "Si",
- "fecha": "24-11-2017"
- }
- ],
- "documentosTimbrados": [
- {
- "documento": "Factura Electronica",
- "ultimoAnioTimbrado": "2026"
- },
- {
- "documento": "Factura No Afecta O Exenta Electronica",
- "ultimoAnioTimbrado": "2022"
- },
- {
- "documento": "Boleta Electronica",
- "ultimoAnioTimbrado": "2025"
- },
- {
- "documento": "Boleta Exenta Electronica",
- "ultimoAnioTimbrado": "2025"
- },
- {
- "documento": "Guia Despacho Electronica",
- "ultimoAnioTimbrado": "2026"
- },
- {
- "documento": "Nota Debito Electronica",
- "ultimoAnioTimbrado": "2025"
- },
- {
- "documento": "Nota Credito Electronica",
- "ultimoAnioTimbrado": "2026"
- },
- {
- "documento": "Contabilidad En Hojas Sueltas Con Nro.Un",
- "ultimoAnioTimbrado": "2018"
- }
- ],
- "cantidadActividades": 3,
- "cantidadDocumentos": 8,
- "ultimaActualizacion": "20-05-2026 14:30:06",
- "tamanoEmpresaSii": {
- "tamanoEmpresa": "Pequeña empresa",
- "ventasAnuales": "10.000,01 a 25.000,00",
- "cantidadTrabajadores": 7
- }
- },
- "boletinComercial": {
- "casosInfocom": 0,
- "casosBolcom": 1,
- "MontoInfocom": 0,
- "MontoBolcom": 4914700,
- "variacion": {
- "ultimoPeriodo": "11/2025",
- "periodoActual": "05/2026",
- "cambioPorcentual": null,
- "cambioAbsoluto": 4914700
- },
- "ultimaActualizacion": "20-05-2026 14:30:05"
- },
- "judicial": {
- "casosCivilesActivos": 0,
- "casosCivilesPresentados": 0,
- "casosCivilesConcluidos": 0,
- "cobranzaActivos": 0,
- "cobranzaPresentados": 0,
- "cobranzaConcluidos": 0,
- "laboralActivos": 2,
- "laboralPresentados": 0,
- "laboralConcluidos": 0,
- "casosActuales": 2,
- "casosArchivados": 0,
- "casosConcluidos": 0,
- "todosLosCasos": 2,
- "casosQuiebra": 0,
- "posturasActivasPresentadas": {
- "demandado": 2
- },
- "ultimaActualizacionCiviles": "20-05-2026 14:30:02",
- "ultimaActualizacionCobranza": "20-05-2026 14:30:02",
- "ultimaActualizacionLaboral": "20-05-2026 14:30:03",
- "boletinConcursal": false
- },
- "cobranzaLaboral": {
- "moraPrevisional": {
- "casosTotales": 149,
- "empleados": 4,
- "variacion": {
- "ultimoPeriodo": "11/2025",
- "periodoActual": "05/2026",
- "cambioPorcentual": 22.13,
- "cambioAbsoluto": 27
- },
- "ultimaActualizacion": "20-05-2026 14:30:15"
- },
- "multaLaboral": {
- "totalMultas": 4,
- "montoTotalMultas": 1605000,
- "multasPagadas": 1,
- "montoMultasPagadas": 335000,
- "multasPendientes": 3,
- "montoMultasPendientes": 1270000,
- "variacion": {
- "ultimoPeriodo": "11/2025",
- "periodoActual": "05/2026",
- "cambioPorcentual": 379.1,
- "cambioAbsoluto": 1270000
- },
- "ultimaActualizacion": "20-05-2026 14:30:03"
- },
- "boletinLaboral": {
- "montoTotal": 615512,
- "variacion": {
- "montoTotal": 0,
- "ultimoPeriodo": "11/2025",
- "periodoActual": "05/2026",
- "cambioPorcentual": null,
- "cambioAbsoluto": 615512
- },
- "ultimaActualizacion": "20-05-2026 14:30:04"
- }
- },
- "legal": {},
- "deudaBancaria": {
- "periodo": "04/2026",
- "deudaDirectaComercial": 20900,
- "deudaDirectaCastigada": 0,
- "deudaDirectaHipotecaria": 0,
- "deudaDirectaMorosa": 0,
- "deudaDirectaVencida": 0,
- "deudaDirectaVigente": 20900,
- "deudaIndirectaCastigada": 0,
- "deudaIndirectaVencida": 0,
- "deudaIndirectaVigente": 0,
- "leasingMoroso": 0,
- "leasingVigente": 0,
- "lineaCredito": 10,
- "variacion": {
- "periodo": "10/2025",
- "deudaDirectaComercial": 25070,
- "deudaDirectaCastigada": 0,
- "deudaDirectaHipotecaria": 0,
- "deudaDirectaMorosa": 0,
- "deudaDirectaVencida": 0,
- "deudaDirectaVigente": 25070,
- "deudaIndirectaCastigada": 0,
- "deudaIndirectaVencida": 0,
- "deudaIndirectaVigente": 0,
- "leasingMoroso": 0,
- "leasingVigente": 0,
- "lineaCredito": 0
- }
- },
- "bienes": {
- "vehiculos": {
- "cantidadVehiculos": 0,
- "tasacionTotal": 0,
- "ultimaActualizacion": "20-05-2026 14:30:04"
- },
- "propiedades": {
- "cantidadPropiedades": 0,
- "tasacionTotal": "0",
- "ultimaActualizacion": "20-05-2026 14:30:04"
- }
- },
- "creditScoring": {
- "ponderacionFinanciero": 100,
- "maxPonderacionFinanciero": 100,
- "ponderacionJudicial": 0,
- "judicialBankruptcy": false,
- "maxPonderacionJudicial": 100,
- "ponderacionCobranzaLaboral": 0,
- "maxPonderacionCobranzaLaboral": 100,
- "ponderacionBoletin": 0,
- "maxPonderacionBoletin": 100,
- "cantidadAyudantes": 4,
- "nombresAyudantes": [
- "judicial",
- "commertialBulletin",
- "finances",
- "laborCollection"
- ],
- "porcentajeClasificacion": 100,
- "etiquetaClasificacion": "High"
- },
- "ratings": {
- "etiquetasActivas": [],
- "cantidadComentarios": 0,
- "calificacionGlobal": {
- "valor": 0,
- "total": 0
- },
- "calificacionCumplimientoGlobal": {
- "valor": 0,
- "total": 0
- },
- "calificacionRelacionGlobal": {
- "valor": 0,
- "total": 0
- },
- "calificacionTransparenciaGlobal": {
- "valor": 0,
- "total": 0
- },
- "calificacionFiabilidadGlobal": {
- "valor": 0,
- "total": 0
- }
- },
- "compliance": {
- "nombre": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "segundoNombre": "",
- "apellido": "",
- "segundoApellido": "",
- "tipoPersona": "juridical",
- "riesgo": "free",
- "resumen": {
- "pepChile": {
- "totalResultados": 0,
- "riesgo": "free"
- },
- "pepChileFamiliares": {
- "totalResultados": 0,
- "riesgo": "free"
- },
- "funcionariosPublicos": {
- "totalResultados": 0,
- "riesgo": "free"
- },
- "listasInternacionales": {
- "totalResultados": 0,
- "riesgo": "free"
- },
- "penal": {
- "totalResultados": 0,
- "riesgo": "free"
- },
- "mallaSocietaria": {
- "totalResultados": 1,
- "riesgo": "free"
- },
- "noticias": {
- "totalResultados": 0,
- "riesgo": "free"
- }
- }
- },
- "incluyeEquifax": false,
- "ayudantesFallidos": []
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:905242db38143ec3533579000b3e47fbb145291386a03cb4d63395e7e0c02dfe",
- "cached_at": "2026-05-22T19:28:00.725555"
- }
- },
- "judicial": {
- "civil": {
- "success": true,
- "data": {
- "page": 1,
- "totalPages": 0,
- "cantidad": 0,
- "casos": [],
- "ultimaActualizacion": "20-05-2026 14:30:03"
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:2f1467a0e28de6efa96b80d2254b4f3e11e9b4224efe46b3e0096c362eb166c3",
- "cached_at": "2026-05-22T19:28:01.174560"
- }
- },
- "cobranza": {
- "success": true,
- "data": {
- "page": 1,
- "totalPages": 0,
- "cantidad": 0,
- "casos": [],
- "ultimaActualizacion": "20-05-2026 14:30:03"
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:0d2568ab46f5249f0c512f1e77cbf07a1ebc896073fd6e31002566c644315c17",
- "cached_at": "2026-05-22T19:28:01.658467"
- }
- },
- "laboral": {
- "success": true,
- "data": {
- "page": 1,
- "totalPages": 1,
- "cantidad": 2,
- "casos": [
- {
- "estado": "Tramitación",
- "estadoCausa": "Sin archivar",
- "etapa": "Audiencia Preparatoria",
- "fechaIngreso": "22-01-2026 21:00:00",
- "litigantes": [
- {
- "rut": "27677870-6",
- "nombre": "ANABEL CHIQUINQUIRA BELLO RIOS",
- "sujeto": "DTE.",
- "persona": "NATURAL",
- "abogadoDefensor": null
- },
- {
- "rut": "76415480-0",
- "nombre": "INVERSIONES WOOD LTDA",
- "sujeto": "DDO.",
- "persona": "JURIDICA",
- "abogadoDefensor": null
- },
- {
- "rut": "20052516-7",
- "nombre": "DANIEL BASTIÁN PATRICIO VILLAGRÁN CARMONA (Poder Amplio)",
- "sujeto": "AB.DTE",
- "persona": "NATURAL",
- "abogadoDefensor": null
- }
- ],
- "materia": "Ordinario",
- "rit": "O-564-2026",
- "tribunal": "1º Juzgado de Letras del Trabajo de Santiago",
- "sujeto": "DDO.",
- "estadoActual": "Vigente"
- },
- {
- "estado": "Tramitación",
- "estadoCausa": "Sin archivar",
- "etapa": "Impugnación Monitorio",
- "fechaIngreso": "20-01-2026 21:00:00",
- "litigantes": [
- {
- "rut": "20052516-7",
- "nombre": "DANIEL BASTIÁN PATRICIO VILLAGRÁN CARMONA (Poder Amplio)",
- "sujeto": "AB.DTE",
- "persona": "NATURAL",
- "abogadoDefensor": null
- },
- {
- "rut": "27112648-4",
- "nombre": "LIDIA KARINA MARTINEZ LLOVERA",
- "sujeto": "DTE.",
- "persona": "NATURAL",
- "abogadoDefensor": null
- },
- {
- "rut": "76415480-0",
- "nombre": "INVERSIONES WOOD LTDA",
- "sujeto": "DDO.",
- "persona": "JURIDICA",
- "abogadoDefensor": null
- }
- ],
- "materia": "Monitorio",
- "rit": "M-370-2026",
- "tribunal": "2º Juzgado de Letras del Trabajo de Santiago",
- "sujeto": "DDO.",
- "estadoActual": "Vigente"
- }
- ],
- "ultimaActualizacion": "20-05-2026 14:30:03"
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:bfd6620c08be2e05f05d20a0e99ab40092ee1d047835fc35965c382781fc5fcc",
- "cached_at": "2026-05-22T19:28:02.139101"
- }
- }
- },
- "cobranzaLaboral": {
- "multaLaboral": {
- "success": true,
- "data": {
- "page": 1,
- "totalPages": 1,
- "cantidad": 4,
- "casos": [
- {
- "enunciado": "No comparecer a citación de la Dirección del Trabajo.",
- "estado": "EN TRÁMITE DE COBRANZA",
- "fecha": "20-03-2026 21:00:00",
- "multa": "4282/26/011-1",
- "procedencia": "RECLAMO",
- "um": "0.67",
- "tipoUm": "IMM",
- "montoClp": 335000
- },
- {
- "enunciado": "No comparecer a citación de la Dirección del Trabajo.",
- "estado": "EN TRÁMITE DE COBRANZA",
- "fecha": "04-02-2026 21:00:00",
- "multa": "8566/25/345-1",
- "procedencia": "RECLAMO",
- "um": "0.67",
- "tipoUm": "IMM",
- "montoClp": 335000
- },
- {
- "enunciado": "No exhibir toda la documentación necesaria para efectuar la conciliación",
- "estado": "EN TRÁMITE DE COBRANZA",
- "fecha": "04-02-2026 21:00:00",
- "multa": "8566/25/345-2",
- "procedencia": "RECLAMO",
- "um": "1.2",
- "tipoUm": "IMM",
- "montoClp": 600000
- },
- {
- "enunciado": "No comparecer a citación de la Dirección del Trabajo.",
- "estado": "PAGADA",
- "fecha": "23-02-2024 21:00:00",
- "multa": "1728/23/223-1",
- "procedencia": "RECLAMO",
- "um": "0.67",
- "tipoUm": "IMM",
- "montoClp": 335000
- }
- ],
- "ultimaActualizacion": "20-05-2026 14:30:02"
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:fcb2a117c7fd7381cadf1ab75d36b3391f12a2f42e7eee34af44b56e129faa25",
- "cached_at": "2026-05-22T19:28:02.749770"
- }
- },
- "moraPrevisional": {
- "success": true,
- "data": {
- "page": 1,
- "totalPages": 8,
- "cantidad": 152,
- "casos": [
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "29-04-2026 20:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "02/2026",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-03-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "01/2026",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Capital",
- "fecha": "30-03-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "01/2026",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "AFP Uno",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "12/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "12/2025",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "12/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "12/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Capital",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "12/2025",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "AFP Modelo",
- "fecha": "27-02-2026 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "12/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "11/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Capital",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "11/2025",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "AFP Modelo",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "11/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "11/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Uno",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "11/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-01-2026 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "11/2025",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-12-2025 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "10/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Uno",
- "fecha": "30-12-2025 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "ANABEL CHIQUINQUIRA BELLO RIOS ",
- "periodo": "10/2025",
- "rutAfiliado": "27677870-6",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "Administradora de Fondos de Cesantía, AFC",
- "fecha": "30-12-2025 21:00:00",
- "fechaDemanda": "Prejudicial",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "10/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Seguro de Cesantía"
- },
- {
- "afp": "AFP Modelo",
- "fecha": "30-12-2025 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "LIDIA KARINA MARTINEZ LLOVERA ",
- "periodo": "10/2025",
- "rutAfiliado": "27112648-4",
- "tipoProducto": "Cotización obligatorias"
- },
- {
- "afp": "AFP Capital",
- "fecha": "30-12-2025 21:00:00",
- "fechaDemanda": "En proceso de Interposición de demanda",
- "nombreAfiliado": "CARLOS ALEJANDRO MUNOZ BAEZ ",
- "periodo": "10/2025",
- "rutAfiliado": "11550027-9",
- "tipoProducto": "Cotización obligatorias"
- }
- ],
- "ultimaActualizacion": "20-05-2026 14:30:02"
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:29103e062b8d43f3ced521ba71f4dc1082d6054a9a09aacdefba1c4cd57c208a",
- "cached_at": "2026-05-22T19:28:03.229857"
- }
- }
- },
- "compliance": {
- "success": true,
- "data": {
- "rut": "76415480-0",
- "tipoPersona": "juridical",
- "nombre": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "riesgo": "free",
- "sociedades": {
- "coincidencias": [
- {
- "nombreSociedad": "INVERSIONES WOOD Y COMPANIA LIMITADA",
- "rutSociedad": "76415480-0",
- "nombreSocio": null,
- "rutSocio": null,
- "fecha": null,
- "socios": [],
- "extractos": [],
- "participaciones": [
- {
- "razonSocial": "FORMACION DIGITAL SPA",
- "rut": "76103603-3",
- "tipoDeParticipacion": "Socio"
- },
- {
- "razonSocial": "LINUXCENTER LATINOAMERICA SOCIEDAD ANONIMA",
- "rut": "76657450-5",
- "tipoDeParticipacion": "Socio"
- },
- {
- "razonSocial": "LINUXCENTER SOCIEDAD ANONIMA",
- "rut": "76052565-0",
- "tipoDeParticipacion": "Socio"
- },
- {
- "razonSocial": "LINUX LATINAMERICA SOCIEDAD ANONIMA",
- "rut": "76145086-7",
- "tipoDeParticipacion": "Socio"
- }
- ],
- "fuente": null
- }
- ],
- "totalCoincidencias": 1
- },
- "listasInternacionales": {
- "coincidencias": [],
- "totalCoincidencias": 0
- },
- "penal": {
- "coincidencias": [],
- "totalCoincidencias": 0
- },
- "noticias": {
- "coincidencias": [],
- "totalCoincidencias": 0
- },
- "pepChile": {
- "coincidencias": [],
- "totalCoincidencias": 0
- },
- "familiaresPep": {
- "coincidencias": [],
- "totalCoincidencias": 0
- },
- "funcionariosPublicos": {
- "coincidencias": [],
- "totalCoincidencias": 0
- }
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:277735490089a998797d3e64e5706e8723087e6b1a0b16684916ed4dc69310c8",
- "cached_at": "2026-05-22T19:28:03.930966"
- }
- },
- "legal": {
- "mallaSocietaria": {
- "success": true,
- "data": {
- "rut": "76415480-0",
- "empresaEnUnDia": [],
- "diarioOficial": [],
- "participaciones": [
- {
- "rut": "0766574505",
- "society": "LINUXCENTER LATINOAMERICA SOCIEDAD ANONIMA"
- },
- {
- "rut": "0760525650",
- "society": "LINUXCENTER SOCIEDAD ANONIMA"
- },
- {
- "rut": "0761450867",
- "society": "LINUX LATINAMERICA SOCIEDAD ANONIMA"
- },
- {
- "rut": "0761036033",
- "society": "FORMACION DIGITAL SPA"
- }
- ]
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:e501a401d1232075ba99f75666a87a548a09c121c0c86e4998c2c91525d2d052",
- "cached_at": "2026-05-22T19:28:04.437179"
- }
- }
- },
- "creditScore": {
- "success": true,
- "data": {
- "periodo": "2026-05",
- "inicioActividades": true,
- "porcentajeFinanzas": 0,
- "numeradorFinanzas": 0,
- "denominadorFinanzas": 20900,
- "ponderacionFinanzas": 100,
- "porcentajeJudicial": 100,
- "numeradorJudicial": 2,
- "denominadorJudicial": 2,
- "quiebraJudicial": false,
- "ponderacionJudicial": 0,
- "porcentajeMoraPrevisional": 0,
- "casosMoraPrevisional": 144,
- "porcentajeMultasLaborales": 79.12772585669782,
- "montoMultasLaborales": 1605000,
- "porcentajeBoletinLaboral": 100,
- "montoBoletinLaboral": 615512,
- "ponderacionCobranzaLaboral": 0,
- "porcentajeBoletinComercial": 100,
- "montoBoletinComercial": 4914700,
- "ponderacionBoletinComercial": 0,
- "cantidadHelpers": "4",
- "porcentajeClasificacion": 100,
- "etiquetaClasificacion": "High",
- "nombresHelpers": [
- "judicial",
- "commertialBulletin",
- "finances",
- "laborCollection"
- ],
- "maxPonderacionJudicial": 100,
- "maxPonderacionBoletinComercial": 100,
- "maxPonderacionCobranzaLaboral": 100
- },
- "_cache_info": {
- "cached": false,
- "cache_key": "sheriff_v2_cache:sheriff_v2_get:8169039cf1dc5a9883879d5acdfd0a2bf1eab0a1dabd62dd34c6e86c16e6ec62",
- "cached_at": "2026-05-22T19:28:05.200921"
- }
- }
-}
\ No newline at end of file
diff --git a/src/components/dashboard/BulkEvaluationProgressMeter.tsx b/src/components/dashboard/BulkEvaluationProgressMeter.tsx
index 6b8bb3c..7d08d01 100644
--- a/src/components/dashboard/BulkEvaluationProgressMeter.tsx
+++ b/src/components/dashboard/BulkEvaluationProgressMeter.tsx
@@ -62,18 +62,18 @@ const BulkEvaluationProgressMeter: React.FC = () => {
if (!processingEvaluation) {
return (
-
-
{t('bulkProgress.title')}
+
+
{t('bulkProgress.title')}
-
+
{t('bulkProgress.progress')}
-
+
0%
@@ -84,7 +84,7 @@ const BulkEvaluationProgressMeter: React.FC = () => {
className="h-4 rounded-full bg-blue-500"
>
-
+
{t('bulkProgress.completed', { completed: 0, total: 0 })}
diff --git a/src/components/dashboard/ConsultationHistoryChart copy.tsx b/src/components/dashboard/ConsultationHistoryChart copy.tsx
deleted file mode 100644
index 4de51b5..0000000
--- a/src/components/dashboard/ConsultationHistoryChart copy.tsx
+++ /dev/null
@@ -1,249 +0,0 @@
-import React, { useMemo, useState } from 'react';
-import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, BarChart, Bar, AreaChart, Area } from 'recharts';
-import { ChartBarIcon, ChartBarSquareIcon, PresentationChartLineIcon } from '@heroicons/react/24/outline';
-import { IResult as IResultBackend } from '../../../server/src/models/Result';
-import { useTranslation } from 'react-i18next';
-
-interface IResult extends Omit
{
- _id: string;
- createdAt: string;
- rut?: string;
-}
-
-interface ConsultationHistoryChartProps {
- results: IResult[];
-}
-
-interface ChartData {
- date: string;
- count: number;
- displayDate: string;
-}
-
-type ChartType = 'bar' | 'line' | 'area';
-
-const ConsultationHistoryChart: React.FC = ({ results }) => {
- const { t, i18n } = useTranslation();
- const [chartType, setChartType] = useState('bar');
- const chartData = useMemo(() => {
- // Group results by date
- const dateGroups: { [key: string]: number } = {};
-
- results.forEach(result => {
- const date = new Date(result.createdAt);
- const dateKey = date.toISOString().split('T')[0]; // YYYY-MM-DD format
- dateGroups[dateKey] = (dateGroups[dateKey] || 0) + 1;
- });
-
- // Convert to array and sort by date
- const data: ChartData[] = Object.entries(dateGroups)
- .map(([date, count]) => {
- const resolvedLangKey = (i18n.resolvedLanguage ?? i18n.language ?? 'es');
- const localeMap: Record = { es: 'es-ES', en: 'en-US', pt: 'pt-PT', fr: 'fr-FR' };
- const dateLocale = localeMap[resolvedLangKey] ?? 'es-ES';
- return {
- date,
- count,
- displayDate: new Date(date).toLocaleDateString(dateLocale, {
- day: '2-digit',
- month: '2-digit'
- })
- };
- })
- .sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime())
- .slice(-30); // Show last 30 days
-
- return data;
- }, [results, i18n.resolvedLanguage, i18n.language]);
-
- const totalConsultations = results.length;
- const averagePerDay = chartData.length > 0 ? (totalConsultations / chartData.length).toFixed(1) : '0';
- const maxInDay = Math.max(...chartData.map(d => d.count), 0);
-
- return (
-
-
-
-
-
-
-
-
-
{t('consultationChart.title')}
-
{t('consultationChart.subtitle')}
-
-
-
- {/* Chart Type Selector */}
-
-
{t('consultationChart.chartType')}:
-
-
-
-
-
-
-
-
- {/* Statistics Cards */}
-
-
-
{totalConsultations}
-
{t('consultationChart.cards.totalConsultas')}
-
-
-
{averagePerDay}
-
{t('consultationChart.cards.averagePerDay')}
-
-
-
{maxInDay}
-
{t('consultationChart.cards.maxInDay')}
-
-
-
- {/* Chart */}
- {chartData.length > 0 ? (
-
-
- {chartType === 'bar' ? (
-
-
-
-
- `${t('consultationChart.tooltip.date')}: ${label}`}
- formatter={(value: number) => [value, t('consultationChart.tooltip.consultas')]}
- />
-
-
- ) : chartType === 'line' ? (
-
-
-
-
- `${t('consultationChart.tooltip.date')}: ${label}`}
- formatter={(value: number) => [value, t('consultationChart.tooltip.consultas')]}
- />
-
-
- ) : (
-
-
-
-
-
-
-
-
-
-
- `${t('consultationChart.tooltip.date')}: ${label}`}
- formatter={(value: number) => [value, t('consultationChart.tooltip.consultas')]}
- />
-
-
- )}
-
-
- ) : (
-
-
-
{t('consultationChart.empty.title')}
-
{t('consultationChart.empty.subtitle')}
-
- )}
-
-
- );
-};
-
-export default ConsultationHistoryChart;
\ No newline at end of file
diff --git a/src/components/dashboard/ResultsTable copy.tsx b/src/components/dashboard/ResultsTable copy.tsx
deleted file mode 100644
index 0708bb6..0000000
--- a/src/components/dashboard/ResultsTable copy.tsx
+++ /dev/null
@@ -1,316 +0,0 @@
-import React, { useState } from 'react';
-import { IResult as IResultBackend } from '../../../server/src/models/Result';
-import { Link } from 'react-router-dom';
-import { MagnifyingGlassIcon, ArrowUpIcon, ArrowDownIcon, EyeIcon, CalendarIcon, BuildingOfficeIcon } from '@heroicons/react/24/outline';
-import { logger } from '../../utils/logger';
-import { useTranslation } from 'react-i18next';
-
-interface IResult extends IResultBackend {
- _id: string;
- createdAt: string;
-}
-
-interface ResultsTableProps {
- results: IResult[];
- currentPage: number;
- totalPages: number;
- onPageChange: (page: number) => void;
- sortField?: string;
- sortDirection?: 'asc' | 'desc';
- onSort?: (field: string) => void;
-}
-
-const ResultsTable: React.FC = ({
- results,
- currentPage,
- totalPages,
- onPageChange,
- sortField = 'createdAt',
- sortDirection = 'desc',
- onSort
-}) => {
- const [searchTerm, setSearchTerm] = useState('');
- const { t, i18n } = useTranslation();
- const localeMap: Record = { es: 'es-ES', en: 'en-US', pt: 'pt-PT', fr: 'fr-FR' };
- // Safely resolve language key; i18n.resolvedLanguage can be undefined
- const resolvedLangKey = (i18n.resolvedLanguage ?? i18n.language ?? 'es');
- const dateLocale = localeMap[resolvedLangKey] ?? 'es-ES';
-
- const filteredResults = results.filter(result => {
- if (result.isPep) return false;
- const hasRiskSummary = !!result.riskAssessment?.riskSummary?.semaphore;
- if (!hasRiskSummary) return false;
- const searchLower = searchTerm.toLowerCase();
- const rut = (result.rut || result.details?.rut || '').toLowerCase();
- const razonSocial = (result.details?.razonSocial || '').toLowerCase();
- return rut.includes(searchLower) || razonSocial.includes(searchLower);
- });
- const getRiskLevelClass = (riskLevel: string) => {
- switch (riskLevel) {
- case 'red':
- return 'bg-red-100 text-red-800 dark:bg-red-900/50 dark:text-red-300 border border-red-200 dark:border-red-800';
- case 'yellow':
- return 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/50 dark:text-yellow-300 border border-yellow-200 dark:border-yellow-800';
- case 'green':
- return 'bg-green-100 text-green-800 dark:bg-green-900/50 dark:text-green-300 border border-green-200 dark:border-green-800';
- case 'orange':
- return 'bg-orange-100 text-orange-800 dark:bg-orange-900/50 dark:text-orange-300 border border-orange-200 dark:border-orange-800';
- default:
- return 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300 border border-gray-200 dark:border-gray-600';
- }
- };
-
- const getRiskLevelDisplayName = (riskLevel: string) => {
- logger.log(33,"riskLevel",riskLevel);
- switch (riskLevel) {
- case 'red':
- return t('risk.critical');
- case 'yellow':
- return t('risk.medium');
- case 'green':
- return t('risk.low');
- case 'orange':
- return t('risk.high');
- default:
- return riskLevel;
- }
- };
-
- return (
-
-
-
-
-
-
-
-
-
{t('dashboard.recentQueriesTitle', { defaultValue: 'Consultas Recientes' })}
-
{t('dashboard.recentQueriesSubtitle', { defaultValue: 'Historial de evaluaciones realizadas' })}
-
-
-
-
-
-
-
setSearchTerm(e.target.value)}
- className="block w-full pl-10 pr-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent sm:text-sm"
- />
-
-
- {filteredResults.length > 0 ? (
- <>
-
-
-
-
-
- |
-
- |
-
-
- |
-
-
- |
-
-
- |
-
- {t('consultas.acciones')}
- |
-
-
-
- {filteredResults.map((result) => (
-
- |
- {result.rut || result.details?.rut}
- |
-
-
-
- {result.details?.razonSocial}
-
- |
-
-
- {getRiskLevelDisplayName(result.riskAssessment?.riskSummary?.semaphore || t('common.notAvailable'))}
-
- |
-
-
-
- {new Date(result.createdAt).toLocaleDateString(dateLocale)}
-
- |
-
-
-
- {t('consultas.viewDetail', { defaultValue: 'Ver Detalle' })}
-
- |
-
- ))}
-
-
-
-
-
-
-
-
-
-
-
-
- {t('common.page')} {currentPage} {t('common.of')}{' '}
- {totalPages}
- {searchTerm && (
-
- ({t('common.filteredBy')}: "{searchTerm}")
-
- )}
-
-
-
-
-
-
-
- >
- ) : (
-
-
-
-
- {searchTerm ? t('resultsTable.noResults') : t('resultsTable.noQueries')}
-
-
- {searchTerm
- ? t('resultsTable.noResultsMessage', { searchTerm })
- : t('resultsTable.noQueriesMessage')
- }
-
- {searchTerm && (
-
- )}
-
-
- )}
-
-
- );
-};
-
-export default ResultsTable;
diff --git a/src/components/dashboard/ResultsTable.tsx b/src/components/dashboard/ResultsTable.tsx
index bf59af1..c10be07 100644
--- a/src/components/dashboard/ResultsTable.tsx
+++ b/src/components/dashboard/ResultsTable.tsx
@@ -23,6 +23,8 @@ interface ResultsTableProps {
totalServerResults?: number;
hasActiveFilters?: boolean;
totalResultsBeforeFilter?: number;
+ selectedRuts?: string[];
+ onSelectionChange?: (ruts: string[]) => void;
}
const ResultsTable: React.FC = ({
@@ -35,12 +37,14 @@ const ResultsTable: React.FC = ({
onSort: externalOnSort,
totalServerResults = 0,
hasActiveFilters = false,
- totalResultsBeforeFilter = 0
+ totalResultsBeforeFilter = 0,
+ selectedRuts = [],
+ onSelectionChange,
}) => {
const [searchTerm, setSearchTerm] = useState('');
const [localSortField, setLocalSortField] = useState('createdAt');
const [localSortDirection, setLocalSortDirection] = useState<'asc' | 'desc'>('desc');
-
+
const { t, i18n } = useTranslation();
const localeMap: Record = { es: 'es-ES', en: 'en-US', pt: 'pt-PT', fr: 'fr-FR' };
const resolvedLangKey = (i18n.resolvedLanguage ?? i18n.language ?? 'es');
@@ -49,7 +53,7 @@ const ResultsTable: React.FC = ({
// Ordenar localmente los resultados de la página actual
const sortedResults = useMemo(() => {
const resultsCopy = [...(results || [])];
-
+
return resultsCopy.sort((a, b) => {
let aValue: any;
let bValue: any;
@@ -92,7 +96,7 @@ const ResultsTable: React.FC = ({
const rut = (result.rut || result.details?.rut || '').toLowerCase();
const razonSocial = (result.details?.razonSocial || '').toLowerCase();
const matchesSearch = !searchTerm || rut.includes(searchLower) || razonSocial.includes(searchLower);
-
+
return {
...result,
isVisible: matchesSearch
@@ -103,6 +107,32 @@ const ResultsTable: React.FC = ({
const hiddenCount = resultsWithVisibility.length - visibleCount;
const hasTableStructure = totalPages > 0;
+ const visibleRuts = resultsWithVisibility
+ .filter(r => r.isVisible)
+ .map(r => r.rut || r.details?.rut || '')
+ .filter(Boolean);
+
+ const allVisibleSelected = visibleRuts.length > 0 && visibleRuts.every(rut => selectedRuts.includes(rut));
+
+ const toggleAllVisible = () => {
+ if (!onSelectionChange) return;
+ if (allVisibleSelected) {
+ onSelectionChange(selectedRuts.filter(rut => !visibleRuts.includes(rut)));
+ } else {
+ const merged = Array.from(new Set([...selectedRuts, ...visibleRuts]));
+ onSelectionChange(merged);
+ }
+ };
+
+ const toggleOneRut = (rut: string) => {
+ if (!onSelectionChange) return;
+ if (selectedRuts.includes(rut)) {
+ onSelectionChange(selectedRuts.filter(r => r !== rut));
+ } else {
+ onSelectionChange([...selectedRuts, rut]);
+ }
+ };
+
// Manejar ordenamiento local
const handleLocalSort = (field: string) => {
if (localSortField === field) {
@@ -240,18 +270,7 @@ const ResultsTable: React.FC = ({
{t('dashboard.recentQueriesSubtitle', { defaultValue: 'Historial de evaluaciones realizadas' })}
- {/*
-
-
-
-
setSearchTerm(e.target.value)}
- className="block w-full pl-10 pr-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent sm:text-sm"
- />
-
*/}
+
{hasTableStructure ? (
<>
@@ -260,6 +279,14 @@ const ResultsTable: React.FC = ({
+ |
+
+ |
|